LinuxVPS每日自动备份
发布时间:2012年3月20日 阅读:35875次 分类:CentOS应用 11 条评论
服务器在运行,难免也会出现问题,如服务商跑路、母机硬盘损坏等等。作为站长,备份数据肯定少不了,手动备份确实比较繁琐,利用一个脚本,就可以达到系统每日备份数据的目的啦。
这里我们以“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、设定自动任务
crontab -e
SSH执行以上命令。
3、添加任务
1)添加执行语句
00 00 * * * /root/AutoBackupToFtp.sh
按键盘字符:“i”,回车另起一行,添加以上代码,路径和时间请根据实际情况修改。
其中00 00为时间分/小时,可自行修改,例如:30 00 ***,就是每天凌晨0:30运行这个脚本。
2)保存并退出
按键盘“Esc”键,退出编辑模式,再按shift+;(即“:”号),输入wq,回车,保存并退出即可生效。
这个给力啊. 很实用的东西.
请问博主写博文用的是哪种编辑工具?
每天都来学习一下。
不错了,学习了。
这个必须有,安全保障!
谢谢分享!
折腾半天就这个靠谱,给力啊!
很牛比的教程啊。。很全面详细
三、2(2)中的“WEB_DATA=/home/wwwroot” #要备份的网站数据
红色部分必须修改,是什么意思? web目录本来就是放在/home/wwwroot下的,
要备份的不是这个目录吗?
只是提醒要注意而已。根据实际情况就行了。
确实是好东西