当前位置:首页 > vps服务器 >

如何备份VPS的数据脚本

时间:2020-08-27 17:31       来源: 大鲸vps 浏览

  如何备份VPS的数据脚本?现在很多企业个人都会选择使用VPS服务器,但是提醒无论什么情况下,都一定要做好数据备份,否则会很麻烦,下面就教大家如何备份VPS所以数据脚本(个人使用大鲸VPS)

如何备份VPS的数据脚本

  代码来自网络,备份的比较齐全,网站文件夹,php/mysql/nginx/ssh的配置文件,还有crontab任务列表也备份了,执行脚本后最后会生成一个tar.gz文件,按当天日期命名。

  生成的文件应该不会小,所以发送到邮箱不合适,可以上传到FTP,相关代码网上很多,我自己没安装ftp,所以是两台大鲸VPS备份后,互相下载。

  保存下面代码,或者从这下载脚本。

  给脚本添加权限

  chmod +x backup.sh

  用crontab实现每天0点自动备份,crontab -e

  00 00 * * * /home/backup.sh#!/bin/bash

  #需要修改的地方从这里开始

  WEB_DATA=/home/wwwroot #要备份的网站数据

  nginx_DATA=/usr/local/nginx/conf #要备份的NGINX配置文件

  PHP_Config=/usr/local/php/etc #要备份的PHP配置文件

  Ftp=/usr/local/pureftpd #要备份的PURE-FTPD

  Folder=/home/bak #备份文件的存放文件夹

  Config=/etc/init.d/ #要备份的服务文件

  ppp=/etc/ppp #要备份的PPP(pptp)账号数据

  date=$(date +"%Y%m%d") #今日时间

  MYSQL_UserName=root #mysql账号

  MYSQL_PassWord=password #mysql密码

  DB_Name1=test1 #数据库1

  DB_Name2=test2 #数据库2

  DB_Name3=test3 #数据库3

  DB_Name4=test4 #数据库4 默认是四个数据库,按自己情况增加减少

  #需要修改的地方从这里结束

  #手动备份删除今日数据

  rm -fr /$Folder/$date.tar.gz

  #删除3天前的数据

  rm -fr /$Folder/$(date -d -3day +"%Y%m%d").tar.gz

  #创建今天的备份目录

  mkdir -p /$Folder/$date

  #压缩网站数据

  cd $WEB_DATA

  tar zcf /$Folder/$date/web.tar.gz ./*

  #备份并压缩Mysql数据库

  /usr/local/mysql/bin/mysqldump -u$MYSQL_UserName -p$MYSQL_PassWord $DB_Name1 > /$Folder/$date/$DB_Name1-$(date +"%Y%m%d").sql

  /usr/local/mysql/bin/mysqldump -u$MYSQL_UserName -p$MYSQL_PassWord $DB_Name2 > /$Folder/$date/$DB_Name2-$(date +"%Y%m%d").sql

  /usr/local/mysql/bin/mysqldump -u$MYSQL_UserName -p$MYSQL_PassWord $DB_Name3 > /$Folder/$date/$DB_Name3-$(date +"%Y%m%d").sql

  /usr/local/mysql/bin/mysqldump -u$MYSQL_UserName -p$MYSQL_PassWord $DB_Name4 > /$Folder/$date/$DB_Name4-$(date +"%Y%m%d").sql

  cd $Folder

  tar zcf /$Folder/$date/database-$(date +"%Y%m%d").tar.gz ./$date/*.sql

  #备份NGINX配置文件

  cd $nginx_DATA

  tar zcf /$Folder/$date/nginx.tar.gz ./*

  #备份PHP配置文件

  cd $PHP_Config

  tar zcf /$Folder/$date/php.tar.gz ./*

  #压缩FTP Server文件

  cd $Ftp

  tar zcf /$Folder/$date/ftp.tar.gz ./*

  #压缩服务文件

  cd $Config

  tar zcf /$Folder/$date/d.tar.gz ./nginx ./mysql ./php-fpm ./ftpd

  #打包PPP配置以及PPTP拨号帐号

  cd $ppp

  tar zcf /$Folder/$date/ppp.tar.gz ./*

  #备份SSHD配置文件

  cp /etc/ssh/sshd_config /$Folder/$date

  #备份crontab内容

  crontab -l > /$Folder/$date/crontab_$date.txt

  #压缩当天数据

  cd /$Folder/

  tar zcf /$Folder/$date.tar.gz ./$date/*

  #删除当天备份文件夹

  rm -fr /$Folder/$date