小知识:利用FTP和计划任务自动备份网站数据和数据库

相信很多朋友都安装的CentOS吧,切忌一句话,无论多牛的IDC总会有跑路的一天,所以经常做好备份是最好的。

一、给VPS安装Email发送程序

yum install sendmail mutt

二、安装FTP客户端程序

本脚本需要用到FTP客户端程序将文件上传到FTP空间上面,因此必须安装FTP客户端,否则将出现ftp命令无法找到的错误如下。

ftp: command not found

出现如上错误提示,是因为FTP客户端没有安装的缘故。解决方法如下:

5.x版本的执行:

rpm -Uvh http://mirror.centos.org/centos/5/os/i386/CentOS/ftp-0.17-35.el5.i386.rpm

6.x版本的执行:

rpm -Uvh http://mirror.centos.org/centos/6/os/i386/Packages/ftp-0.17-51.1.el6.i686.rpm

安装成功ftp命令就可以用了.

三、在/root目录下新建脚本文件:AutoBackupToFtp.sh,内容如下:

  #!/bin/bash  #你要修改的地方从这里开始  MYSQL_USER=root #mysql用户名  MYSQL_PASS=123456 #mysql密码  MAIL_TO=xxxxx@gmail.com #数据库发送到的邮箱  FTP_USER=ftpuser #ftp用户名  FTP_PASS=ftpuserpass<a href=”http://www.tuohang.net/” target=”_blank” class=”keylink”>word</a> #ftp密码  FTP_IP=xxx.xxx.xxx.xxx #ftp地址  FTP_backup=backup #ftp上存放备份文件的目录,这个要自己得ftp上面建的  WEB_DATA=/home/wwwroot #要备份的网站数据,如果是使用lnmp安装包,则默认这个为网站目录 www.tuohang #你要修改的地方从这里结束  #定义数据库的名字和旧数据库的名字  DataBakName=Data_$(date +”%Y%m%d”).tar.gz  WebBakName=Web_$(date +%Y%m%d).tar.gz  OldData=Data_$(date -d -5day +”%Y%m%d”).tar.gz  OldWeb=Web_$(date -d -5day +”%Y%m%d”).tar.gz  #删除本地3天前的数据  rm -rf /home/backup/Data_$(date -d -3day +”%Y%m%d”).tar.gz /home/backup/Web_$(date -d -3day +”%Y%m%d”).tar.gz  cd /home/backup  #导出数据库,一个数据库一个压缩文件  for db in `/usr/local/mysql/bin/mysql -u$MYSQL_USER -p$MYSQL_PASS -B -N -e SHOW DATABASES | xargs`; do  (/usr/local/mysql/bin/mysqldump -u$MYSQL_USER -p$MYSQL_PASS ${db} | gzip -9 – > ${db}.sql.gz)  done  #压缩数据库文件为一个文件  tar zcf /home/backup/$DataBakName /home/backup/*.sql.gz  rm -rf /home/backup/*.sql.gz  #发送数据库到Email,如果数据库压缩后太大,请注释这行  echo “Content:This email is auto send by vps…” | mutt -a /home/backup/$DataBakName -s “Subject:VPS Database Backup” $MAIL_TO  #压缩网站数据  tar zcf /home/backup/$WebBakName $WEB_DATA  #上传到FTP空间,删除FTP空间5天前的数据  ftp -v -n $FTP_IP << END  user $FTP_USER $FTP_PASS  type binary  cd $FTP_backup  delete $OldData  delete $OldWeb  put $DataBakName  put $WebBakName  bye  END 

四、配置

给脚本添加执行权限:

crontab -e

利用系统crontab实现每天自动运行:

crontab -e

输入以下内容:

00 02 * * * /root/AutoBackupToFtp.sh

其中00 02为时间分/小时,可自行修改,例如:30 12 ***,就是每天12.30运行这个脚本。

做完这些操作,懒人专用牌VPS自动备份系统就完成了。再次感谢Gevin大大提供详细教程。

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:什么是DNS以及它如何影响服务器?

2023-5-2 17:47:32

建站知识

小知识:Nginx中防止SQL注入攻击的相关配置介绍

2023-5-2 23:55:12

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索