ubuntu 18.04サーバーからデータベースを含むnextcloudファイルをバックアップするための小さなbashスクリプトを作成しました。バックアップは毎日実行してほしい。ジョブが完了したら、ジョブが完了した場合に1 つのメールを受信したい(成功したかどうかにかかわらず)。現在のスクリプトでは、ほぼ 20 通のメールを受け取りましたが、その理由がわかりません。何か案は?
私のcronジョブは次のようになります:
* 17 * * * "/root/backup/"backup.sh >/dev/null 2>&1
私のbashスクリプト
#!/usr/bin/env bash
LOG="/user/backup/backup.log"
exec > >(tee -i ${LOG})
exec 2>&1
cd /var/www/nextcloud
sudo -u www-data php occ maintenance:mode --on
mysqldump --single-transaction -h localhost -u db_user --password='PASSWORD' nextcloud_db > /BACKUP/DB/NextcloudDB_`date +"%Y%m%d"`.sql
cd /BACKUP/DB
ls -t | tail -n +4 | xargs -r rm --
rsync -avx --delete /var/www/nextcloud/ /BACKUP/nextcloud_install/
rsync -avx --delete --exclude 'backup' /var/nextcloud_data/ /BACKUP/nextcloud_data/
cd /var/www/nextcloud
sudo -u www-data php occ maintenance:mode --off
echo "###### Finished backup on $(date) ######"
mail -s "BACKUP" name@domain.com < ${LOG}