本空间支持SSH,一来为了cross wall,二来整理网站什么的也能方便点,比如打个包,解个包,check out点代码什么的。
好了,直接贴代码吧。
#!/bin/bash # # Backup web source code and database data to a tarball # Also can send it to your email as a attachment # # crontab -e # 0 0 * * * /home/burgess/backup.sh >/dev/null 2>&1 # # set variables web_path=~/public_html db_name=your_db_name db_user=your_db_user db_pass=your_db_pass email=burgess@163.com email_title="Web Backup - xyh.org - "$(date +"%Y-%m-%d") new_file=Backup_$(date -d "yesterday" +"%Y%m%d").tar.gz old_file=Backup_$(date -d "-2days" +"%Y%m%d").tar.gz cd $web_path # dump database data to a sql file mysqldump --add-drop-table\ --comments\ --complete-insert\ --allow-keywords\ --triggers\ --routines\ --force\ --password=$db_pass\ --user=$db_user\ $db_name > database.sql # make it to a tarball tar zcf ~/$new_file * .[!.]* --exclude=cgi-bin # remove old files rm -f database.sql if [ -e ~/$old_file ]; then rm -f ~/$old_file fi # send attachment email (echo "Hi, I'm the postman.";uuencode ~/$new_file $new_file) | mail -s $email_title $email |
使用时只要修改前面6个变量的值就可以了,然后把它放到任务里定时执行。
先执行“crontab -e”
然后添加一行
0 0 * * * /home/burgess/backup.sh >/dev/null 2>&1
然后就可以每天0点自动执行打包备份并把压缩包当附件发送到你的邮箱里了。
受教了!呵呵!