Сценарий работает нормально, если я запускаю его с sh filename
, но он игнорирует все параметры --exclude
если его запускает cron:
#!/bin/sh
TIMESTAMP=$(date +%u)
WEEK=`date +"%V"`
if [ $(($WEEK%2)) -eq 0 ];
then
echo "even";
BACKUP_DIR="/mnt/backup/2_$TIMESTAMP"
mkdir -p "$BACKUP_DIR/www"
else
echo "odd";
BACKUP_DIR="/mnt/backup/1_$TIMESTAMP"
mkdir -p "$BACKUP_DIR/www"
fi
if [ $(date +%u) -gt 6 ];
then
zip -r -y $BACKUP_DIR/www/web.zip /var/www/ --exclude='var/www/\.opcache/*' --exclude='var/www/utils/phpThumb/cache/*'
else
zip -r -y $BACKUP_DIR/www/web.zip /var/www/ --exclude='var/www/mycompany/files/*' --exclude='var/www/\.opcache/*' --exclude='var/www/mycompany/szamlazz/xml_szamlak/*' --exclude='var/www/mycompany/files_admin/szamlazz/*' --exclude='var/www/mycompany/files_admin/chatFiles/*' --exclude='var/www/mycompany/utils/phpThumb/cache/*' --exclude='*/backup-guard/*' --exclude='var/www/mycompany/mailer/*' --exclude='var/www/mycompany/attachments/*'
fi
exit 0
Приведенный выше скрипт должен создавать большую резервную копию в воскресенье и частичную в будние дни, но он просто архивирует все.