У меня есть скрипт bash, который работает как cron для резервного копирования файлов на сервере.
#!/bin/bash
FILE=/path/to/backup_$(date +%Y%m%d).tar
tar -cf $FILE /backup/this /and/that /and/someotherfiles
gzip $FILE
Когда я запускаю скрипт напрямую, используя:
sudo bash ./backup-files.sh
Это gzips файл, но вчера вечером, когда cron запустил его, он оставил его как tar. Будет ли cron сохранять журнал где-нибудь, чтобы указать, почему это может быть так?
Если повторится, что ваш скрипт не делает то, что вы хотите, вы можете добавить set -x
поверх вашего скрипта. Он будет выводить именно то, что он делает, и этот вывод часто помогает найти ошибки. Если вы называете это cronjob, убедитесь, что значение $ EMAIL
установлено соответствующим образом.
Как отметил Пьер, вы можете использовать флаг -z. Как правило, я всегда использую tar zcvfP для резервного копирования целых каталогов и сохранения их структуры и разрешений. Флаг v тоже полезен.
Если повторится, что ваш скрипт не делает то, что вы хотите, вы можете добавить set -x
поверх вашего скрипта. Он будет выводить именно то, что он делает, и этот вывод часто помогает найти ошибки. Если вы называете это cronjob, убедитесь, что значение $ EMAIL
установлено соответствующим образом.