自动化备份服务器数据到WebDAV

先安装webDAV客户端

apt-get install cadaver

然后建立一个自动登陆的配置文件

vi ~/.netrc

内容格式如下

machine webdavserver
login username
passwd password

再在shell里执行

cadaver webdavserver

就可以自动登陆到dav服务器了.

下面要说的就是备份数据的脚本.下面这个是我用来备份网页数据和数据库的脚本

#!/bin/sh
dat=`date +%Y-%m-%d`
mysqldump -u user -ppassword -A | gzip > /root/alldb.gz
tar zcf /vps-bak-$dat.tgz /www/* #backup necessary files
cadaver davserver/vps-backup <<E
put /vps-bak-$dat.tgz 
ls /vps-backup/
E
rm -rf /vps-bak-$dat.tgz
rm -rf /root/alldb.gz
echo 'Backup Complete'

把上面的用户名密码替换成你MySQL的账号和密码就可以了.
顺便修改下你需要备份的文件和dav服务器地址.

最后加入到crontab里就可以了

crontab -e

最后加上一行

10 23 2 * * /root/data-bak.sh > /dev/null

data-bak.sh 是你刚才的那个脚本的路径,需要添加执行权限

chmod a+x /root/data-bak.sh

这样 你的服务器会在每个月的2号晚上11点10分进行备份了.

具体是否执行了计划任务可以参考默认的日志路径

/var/log/cron.log

发表评论

邮箱地址不会被公开。 必填项已用*标注