Если время последнего изменения «$ filename» старше 5 дней, команда find выполняет следующую команду:
tar -cvfz $filename /home/myfoldertobackups/ $filename
, которая помещает / home / myfoldertobackup и $ filename (возможно, обрезанопоскольку tar собирается писать об этом) в $ filename;если вы не хотите $ filename, просто напишите
find $filename -mtime +5 -exec tar -cvz /home/myfoldertobackups -f {} \;
или лучше (потому что более читабельно)
if [ -n "$(find $filename -mtime +5)" ]; then
tar -cvzf "$filename" /home/myfoldertobackups;
fi
ОБНОВЛЕНИЕ
ВотВаш код с моим предложенным изменением:
if [ -e $filename ];
then
# Tar exist. Check if tar is older than five days and if so, update it.
# find $filename -mtime +5 -exec tar -czvf $filename /home/myfoldertobackup/ {} \;
if [ -n "$(find $filename -mtime +5)" ]; then
tar -cvzf "$filename" /home/myfoldertobackups;
fi
else
#Tar doesn't exist. Force creation of tar!
tar -czvPf $filename /home/myfoldertobackup/
fi