VPS自动备份脚本

1、安装msmtp和mutt

2、修改.msmtprc文件:

defaults
logfile /root/log/msmtp.log

##########################################
account 126
host smtp.126.com
from craftor@126.com
auth login
user "craftor"
password "********"


##########################################
account gmail
host smtp.gmail.com
tls on
tls_certcheck off
auth on
from craftor0924@gmail.com
auth login
user "craftor0924"
password "********"


###########################################



account default:gmail

说明:配置好自己的邮箱信息,用于自动发邮件。注意如果附件太大可能发不了。最后一行选择使用哪个邮箱设置进行发送。

3.编写脚本:

#!/bin/sh

cd /home/test

MyWeb=craftor.org
echo "backuping $MyWeb ..."
/usr/bin/mysqldump -uroot -ppasword $MyWeb >> $(date +"%Y-%m-%d")-$MyWeb.sql
tar zcf $(date +"%Y-%m-%d")-$MyWeb.tar.gz  /var/www/$MyWeb >> out.txt
rm $(date -d-3day +"%Y-%m-%d")-$MyWeb.sql
rm $(date -d-3day +"%Y-%m-%d")-$MyWeb.tar.gz

  echo "测试内容" | mutt -s "测试标题" 目标邮件地址 -a "附件1" -a "附件2"

/home/test是我存放备份文件的位置。

注意mysqldump后面,-u跟的是用户名(推荐使用root),-p跟的是密码(之间没有空格),后面跟的是数据库名。

因为我网站craftor.org在/var/www下的目录也是craftor.org,数据库名也是craftor.org,所以使用一个变量统一代替,如果不一样,请自己注意修改。

最后一行是自动发邮件的格式

4. 自动执行,输入 crontab -e,然后在文件里添加新的一行,格式是  m h  dom mon dow   command

00 01 * * * /root/backup.sh

我这里表示第天01:00执行backup.sh脚本。

 

 

posted @ 2012-12-27 19:51  Craftor  阅读(693)  评论(0编辑  收藏  举报