Вы chdir()
выполняли перед перемещением файла? Если вы этого не сделали, файл будет перемещен в папку "upload/1268_org.jpg", но относительно /var/www/html/inc/classes, что приведет к перемещению в /var/www/html. /inc/classes/upload/1268_org.jpg
и определенно не является вашим предполагаемым местоположением.
Решение: chdir перед перемещением или используйте абсолютный путь.
Я не совсем понимаю, что вы пытаетесь сделать, но я вижу одну проблему: число не может быть одновременно больше 1700 и меньше 0800, поэтому ваш оператор if всегда будет возвращать false. Вам нужно использовать оператор or
вместо and
.
Вот что я придумал, и это работает:
#!/bin/bash
hr=$(date +%H%M)
if [[ $hr -ge "1700" || $hr -lt "0800" ]]; then
echo "success"
fi
Работает с 17:00 до 19:00 :59:00 (кроме 8:00):
case $(date +%H) in
(17|18|19|20|21|22|23|00|01|02|03|04|05|06|07) echo run;;
(*) echo do not run;;
esac
... чтобы включить все таймфреймы с 8:00, включите 8 в первый список. Нет необходимости включать минуты в команду date
.