Спасибо, что прочитали это.
Я создал сценарий bash для резервного копирования моих баз данных. Сценарий создаст каталог для дня, а затем создаст файл резервной копии для каждой базы данных в этом каталоге.
Выполняется, как ожидается, если я вызову его из командной строки.
Я хочу он запускается, когда машина запускается, поэтому я создал задание cron, чтобы запустить его.
Когда выполняется задание cron, он создает каталог, но он не создает файлы.
[d5 ] Я проверил syslog, и я вижу, что задание cron обрабатывается, но нет выхода, который указывает на ошибку. Появляется сообщение, которое, как представляется, указывает на отправку электронного сообщения, если postfix или некоторые из них были установлены. Я действительно не хочу устанавливать постфикс, если мне действительно не нужно.Есть ли какой-нибудь другой журнал, на который я мог бы смотреть?
Вот задание cron (оно выполняется как root) :
@reboot /usr/bin/db.backup.sh
вот скрипт bash:
#!/bin/bash
DB_BACKUP="/files/database_backups/`date +%Y-%m-%d`"
DB_USER="root"
DB_PASSWD="a"
HN=`hostname | awk -F. '{print $1}'`
# Create the backup directory
mkdir -p $DB_BACKUP
# Remove backups older than 10 days
find /files/database_backups/ -maxdepth 1 -type d -mtime +10 -exec rm -rf {} \;
# Backup each database on the system
for db in $(mysql --user=$DB_USER --password=$DB_PASSWD -e 'show databases' -s --skip-column-names|grep -viE '(staging|performance_schema|information_schema)');
do mysqldump --max-allowed-packet=1073741824 --user=$DB_USER --password=$DB_PASSWD --events --opt --single-transaction $db | gzip > "$DB_BACKUP/$db-$(date +%Y-%m-%d).sql.gz";
chown -R www-data:www-data $DB_BACKUP
done