LAMP架构网站的简单备份

我觉得LAMP做的网站只需要备份mysql数据库和wordpress的目录就可以了,所以后面只备份了这两个东西。方法很简单,就是写一个脚本通过scp把备份的文件传到另一台主机,然后利用cron每天定时执行脚本。

首先得先有一台放备份文件的主机,我用的是帮帮给我的一个虚拟机(如果帮帮能看到的话,在此致谢),以前在网上看到过有人利用百度云来备份网站,等有空研究研究,百度云3GB的免费空间可真是不小。

 1.备份mysql数据库,用mysqldump备份成sql语句:

  1. mysqldump -uUSERNAME -pPASSWORD DBNAME > MYSQL_FILE_NAME.sql

 
 2.备份wordpress和log日志:

  1. tar -zcvf WORDPRESS_FILE_NAME.tar.gz /var/www /var/log

 
3.通过scp将文件传到备份主机,确保备份主机已开启ssh服务

  1. scp -P10086 MYSQL_FILE_NAME.sql WORDPRESS_FILE_NAME.tar.gz username@IP:/home/username/backup

 
 4.发送邮件通知,安装sendmail,通过sendmail命令发送简单的通知邮件

  1.  (echo “Subject: Report from the ALIYUN”;echo “The backup is finished !”;echo $DATE) | sendmail -f ALI@root.com -t abc@123.com

 
 5.删除应用服务器上的备份文件,节省空间:

  1. rm -rf MYSQL_FILE_NAME.sql WORDPRESS_FILE_NAME.tar.gz

 
6.把以上过程整理成一个脚本:

  1.  #!/bin/bash
  2.  #filename:backup.sh
  3.  #function:LAMP_BACK
  4.  #author:paulyan
  5.  #date:2014.04.27
  6.  
  7.  DATE=`date +%Y%m%d_%H%M%S`
  8.  MYSQL_FILE_NAME=/root/mysql_back_$DATE.sql
  9.  MYSQL_USERNAME=username
  10.  MYSQL_PASSWORD=password
  11.  WORDPRESS_FILE_NAME=/root/wordpress_back_$DATE.tar.gz
  12.  
  13.  #backup mysql and wordpress
  14.  mysqldump -u$MYSQL_USERNAME -p$MYSQL_PASSWORD wordpress > $MYSQL_FILE_NAME

  15.  tar -zcvf $WORDPRESS_FILE_NAME /var/www /var/log
  16.  
  17.  #scp to bangbang’host
  18.  scp -P10086 $MYSQL_FILE_NAME $WORDPRESS_FILE_NAME username@IP:/home/paul/ALIYUN_BACKUP
  19.  
  20.  #mail2me
  21.  (echo “Subject: Report from the ALIYUN”;echo “The backup is finished !”;echo $DATE) |                   sendmail -f ALI@root.com -t abc@123.com
  22.  
  23.  #delete files
  24.  rm -rf mysql_back* wordpress_back*

 
 7.在cron中加入执行backup.sh计划,每天凌晨一点执行备份,打开/etc/crontab添加:

  1.  0 1 * * * root /root/backup.sh

 

 

 

遇到的几个问题(坑):

如果ssh端口不是默认的22,需要在scp命令后跟参数 -P端口,此参数要跟着scp之后,不可在备份主机IP之后

注意QQ邮箱是接受不到sendmail发送的邮件的,网易邮箱可以

系统中可能默认没有安装cron服务,需要手动安装,debian和centos的软件包不一样,一个是cron一个是crontabs

shell脚本中定义变量时,单引号”和反引号“是不一样的,如果要定义可执行程序的变量一定要用反引号

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值