Hey,吃完饭多陪陪家人吧!

简单的Linux VPS自动备份脚本

   

  前段时间找了个Linux VPS自动备份脚本,将脚本精简并优化了一下,得到自己要用到的功能。

下面是脚本的代码:

 
  1. #你要修改的地方从这里开始  
  2. MYSQL_USER=XXX                      #mysql用户名  
  3. MYSQL_PASS=XXX            #mysql密码  
  4. WEB_DATA=/data/wwwroot               #要备份的网站目录  
  5. #你要修改的地方从这里结束  
  6.   
  7. #定义备份文件的名字  
  8. DataBakName=data_$(date +"%Y%m%d_%H_00").tar.gz  
  9. WebBakName=web_$(date +%Y%m%d_%H_00).tar.gz  
  10.   
  11. cd /data/backup  
  12. #导出数据库,一个数据库一个压缩文件  
  13. for db in `/usr/local/mysql/bin/mysql -u$MYSQL_USER -p$MYSQL_PASS -B -N -e 'SHOW DATABASES' | xargs`; do  
  14.     (/usr/local/mysql/bin/mysqldump -u$MYSQL_USER -p$MYSQL_PASS ${db} | gzip -9 – > ${db}.sql.gz)  
  15. done  
  16. #压缩数据库文件为一个文件  
  17. tar zcf /data/backup/$DataBakName /data/backup/*.sql.gz  
  18. rm -rf /data/backup/*.sql.gz  
  19. #压缩网站数据  
  20. tar zcf /data/backup/$WebBakName $WEB_DATA  
  21. cd /data/backup  
  22. mkdir $(date +"%Y%m%d_%H_00")  
  23. mv data_$(date +"%Y%m%d_%H_00").tar.gz $(date +"%Y%m%d_%H_00")  
  24. mv web_$(date +%Y%m%d_%H_00).tar.gz $(date +"%Y%m%d_%H_00")  
  25. echo "备份成功,文件夹为:/data/backup/$(date +"%Y%m%d_%H_00")"  

将以上脚本修改为合适你的vps的配置,保存为Backup.sh,然后上传至VPS的root目录下,并在/data目录下新建一个名为backup的文件夹。

然后给脚本权限,ssh下执行:

 
  1. chmod +x /root/Backup.sh  

接下来测试脚本能否正常工作,执行:

  1. ./Backup.sh  

如果能正常工作,再用cron实现每日自动运行这个脚本实现自动备份:

  1. crontab –e  

添加备份任务,执行:

  1. 00 01 * * * /root/Backup.sh  

任务的运行时间可以自己设定,上面代码中的00 01,就是凌晨1点,尽量选择您网站访客最少的时间段,比如凌晨。

脚本下载:http://www.risingsun.cc/down/Backup.sh

 

未经允许不得转载:Rising Sun's Blog » 建站 » 简单的Linux VPS自动备份脚本
标签:
评论 0
 
 
发表评论