我有(来自一个教程)cron 工作,它每周在我的网站上进行备份并且工作正常。
#!/bin/bash
NOW=$(date +"%Y-%m-%d-%H%M")
FILE="mysite.com.$NOW.tar"
BACKUP_DIR="/home/user/backups/"
WWW_DIR="/home/user/public_html/"
DB_USER="my_site_db_username"
DB_PASS="password"
DB_NAME="mysite_dn_name"
DB_FILE="mysite.com.$NOW.sql"
WWW_TRANSFORM='s,^home/username/public_html,www,'
DB_TRANSFORM='s,^home/username/backups,database,'
tar -cvf $BACKUP_DIR/$FILE --transform $WWW_TRANSFORM $WWW_DIR
mysqldump -u$DB_USER -p$DB_PASS $DB_NAME > $BACKUP_DIR/$DB_FILE
tar --append --file=$BACKUP_DIR/$FILE --transform $DB_TRANSFORM $BACKUP_DIR/$DB_FILE
rm $BACKUP_DIR/$DB_FILE
gzip -9 $BACKUP_DIR/$FILE
Run Code Online (Sandbox Code Playgroud)
问题是,有人可以帮助我在备份完成后如何向我发送电子邮件?
我第一次使用 bash,我不确定我在做什么。
编辑您的 crontab 文件并添加:
MAILTO=your.email@your_provider.com
Run Code Online (Sandbox Code Playgroud)
并在脚本末尾添加:
echo 'backup finished', $FILE
Run Code Online (Sandbox Code Playgroud)
cron通常从它运行的每封电子邮件的命令发送任何输出。您的脚本似乎在静默运行,因此没有电子邮件。
如果您不添加 MAILTO,邮件将发送给运行 crontab 的用户,恕我直言,最好明确说明。
| 归档时间: |
|
| 查看次数: |
6200 次 |
| 最近记录: |