LinuxVPS每日自动备份
转载自:http://www.kwx.gd/CentOSApp/CentOS-Auto-Backup.html
服务器在运行,难免也会出现问题,如服务商跑路、母机硬盘损坏等等。作为站长,备份数据肯定少不了,手动备份确实比较繁琐,利用一个脚本,就可以达到系统每日备份数据的目的啦。
这里我们以“LNMP 一键安装包”为例,需要准备一个FTP和一个能接收大附件的邮箱。
一、安装《LNMP 一键安装包》,并准备一个FTP空间
若不是使用以上一键包,下文的路径需要手动修改设置。
FTP空间,建议使用Godaddy免费10G,如果有BuyVM VPS,则自带了一个BuyVM 5G的免费备份空间,或者使用其它服务商的FTP空间,根据自己的实际情况选择,前提是要能连接的上,能上传和删除文件等。
二、获得自动备份脚本
1、安装邮件发送依赖组件(可选)
yum install sendmail mutt
SSH执行以上命令,安装邮件发送依赖组件,若不使用可不安装。推荐不安装。
2、获得备份脚本
wget http://soft.kwx.gd/tools/AutoBackupToFtp.sh
强烈要求将备份脚本下载到您的本地机器,然后使用DreamWeaver或EditPlus编辑,完成后再上传到root目录。
三、自定义设置
1、打开AutoBackupToFtp.sh
看到以下文字,请根据黄色文字说明,并根据实际情况修改
#!/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、演示一个LNMP 一键安装包 的设置方法
1 ) 创建本地备份文件目录
cd /home mkdir backup #新建文件夹(备份文件本地存放到/home/backup,保留3天)
2 )修改AutoBackupToFtp.sh相关信息
#!/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/wwwroot #要备份的网站数据 #你要修改的地方从这里结束
红色部分必须修改,其余黄色说明以及对应部分请根据实际情况修改。
邮件发送问题:
查找文件
#发送数据库到Email,如果数据库压缩后太大,请注释这行 echo "主题:数据库备份" | mutt -a /home/backup/$DataBakName -s …… 若不使用,请在下列语句前加上“#”,注意红色部分。 #echo "主题:数据库备份" | mutt -a /home/backup/$DataBakName -s ……
3、测试备份是否正常
sh /root/AutoBackupToFtp.sh
测试过程中请不要关闭SSH,直到执行完毕,若没有问题,则继续。
四、定时执行,每日备份
1、赋予文件执行权限(755)
chmod +x /root/AutoBackupToFtp.sh
2、设定自动任务
yum install vixie-cron
crontab -e
SSH执行以上命令。
3、添加任务
1)添加执行语句
00 00 * * * /root/AutoBackupToFtp.sh
按键盘字符:“i”,回车另起一行,添加以上代码,路径和时间请根据实际情况修改。
其中00 00为时间分/小时,可自行修改,例如:30 00 ***,就是每天凌晨0:30运行这个脚本。
2)保存并退出
按键盘“Esc”键,退出编辑模式,再按shift+;(即“:”号),输入wq,回车,保存并退出即可生效。