网站自动备份脚本

对于网站来说,备份是必不可少的,难免碰到主机商跑路,运行出错需要恢复到之前版本,或者被攻击等等.

每天需要手动备份的话也是麻烦事,这里写了一个自动备份的脚本给大家参考,此脚本实现功能如下,

1. 把数据库和网站内容备份到本地,并且保留3天,3天前的会自动删除.
2. 把数据库和网站内容备份到远程FTP服务器,并且保留5天,5天后会自动删除.
3. 把数据库以邮件形式发送到你的邮箱(可选).

一, 下载自动备份脚本

wget pan.zxcv.info/tool/AutoBackupToFtp.sh

二, 安装邮件发送组件,如果要实现发送数据库到邮件这个功能(可选).

yum install sendmail mutt

三, 自动备份脚本自定义设置

1. 需要根据你自己的实际配置修改如下内容.

#!/bin/bash
#你要修改的地方从这里开始
MYSQL_USER=root           #mysql用户名
MYSQL_PASS=123456         #mysql密码
MAIL_TO=cat@hostloc.com   #数据库发送到的邮箱
FTP_USER=cat              #ftp用户名
FTP_PASS=123456           #ftp密码
FTP_IP=imcat.in           #ftp地址
FTP_backup=backup         #ftp上存放备份文件的目录,这个要自己得ftp上面建的
WEB_DATA=/home/www        #要备份的网站数据
#你要修改的地方从这里结束

2. 邮件功能

这个脚本默认是会发送数据库备份到邮箱的, 可以加”#”在如下命令前来禁用.

#echo "主题:数据库备份" | mutt -a /home/backup/$DataBakName -s ……

3. 创建本地备份目录

cd /home
mkdir backup

4. 在ftp跟目录下同样也创建backup目录,所有备份文件会被自动复制过去,注意ftp帐号要对这个目录有读写删除的权限.

四, 测试自动备份脚本

sh /root/AutoBackupToFtp.sh

五, 为自动备份脚本配置计划任务

1. 给予脚本执行权限

chmod +x /root/AutoBackupToFtp.sh

2. 设定计划任务

crontab -e

3. 按i添加一下语句,然后按esc, 输入”:wq”来保存退出即可.

00 03 * * * /root/AutoBackupToFtp.sh #每天凌晨3点执行备份任务.
Bookmark the permalink.

发表评论

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

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>