Иногда, когда я загружаюсь, моя система входит в чрезвычайный режим.
Я затем использую Clonezilla для восстановления изображения.
Обычно изображение является более старым, чем текущая дата.
Это - часть резервного сценария, который работает как программа запуска.
cd /home/andy/bin/
zip -u -q Ubuntu_Scripts.zip *.sh *.rb *.c *.py *.txt
cp -u Ubuntu_Scripts.zip /media/andy/MAXTOR_SDB1/Ubuntu_Mate_18.04/
cp -u Ubuntu_Scripts.zip /media/andy/MAXTOR_SDB5/Emergency_Backup/
Это затем перезаписывает мой zip-файл с тем, который является на самом деле более старым.
Я думал, что, если я мог бы сравнить даты файла перед операцией zip, я мог бы предотвратить перезапись.
Я попробовал это.
file1time=`stat -c %Y /home/andy/bin/Ubuntu_Scripts.zip`
file2time=`stat -c %Y /media/andy/MAXTOR_SDB1/Ubuntu_Mate_18.04/Ubuntu_Scripts.zip`
if [ "$file1time" -ot "$file2time" ]
then
echo "File is older. "
fi
Использовать rsync
вместо cp
и можно использовать --update
флаг, который только обновит, когда Вы скопируете более новый файл.
cd /home/andy/bin/
zip -u -q Ubuntu_Scripts.zip *.sh *.rb *.c *.py *.txt
rsync -av --update Ubuntu_Scripts.zip /media/andy/MAXTOR_SDB1/Ubuntu_Mate_18.04/
rsync -av --update Ubuntu_Scripts.zip /media/andy/MAXTOR_SDB5/Emergency_Backup/
Ваше использование кода -ot
где это должно использовать -lt
. Посмотрите пример ниже.
#!/bin/bash
file1time=`stat -c %Y /home/niclas/dbat/INSTALL.txt`
file2time=`stat -c %Y /home/niclas/dbat/README.txt`
if [ "$file1time" -lt "$file2time" ]
then
echo "INSTALL.txt is older."
else
echo "README.txt is older."
fi