Приведенный ниже скрипт игнорирует все аргументы -x exclude при запуске из bash, но он отлично работает из командной строки:
#!/bin/sh
TIMESTAMP=$(date +%u)
ulimit -s 65536
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
/usr/bin/zip -r -y $BACKUP_DIR/www/web.zip /var/www/ -x '*/.opcache/*' -x '*/phpThumb/cache/*'
else
/usr/bin/zip -r -y $BACKUP_DIR/www/web.zip /var/www/ -x '*/mycompany/files/*' -x '*/.opcache/*' -x '*/xml_extras/*' -x '*/files_admin/extras/*' -x '*/chatFiles/*' -x '*/phpThumb/cache/*' -x '*/backup-guard/*' -x '*/mailer/*' -x '*/mycompany/attachments/*'
fi
exit 0
Это 14-дневное решение для резервного копирования, и я хочу, чтобы в будние дни игнорировались большие папки, например изображения. По какой причине аргументы -x игнорируются?