备份VPS全部数据的脚本!

需要修改的部分在上面,所有部分都有说明不需要的功能自己用 # 注释掉!!

#!/bin/bash
#你要修改的地方从这里开始
WEB_DATA=/var/data/html                         #要备份的网站数据
mysql_DATA=/var/data/mysql                      #要备份的数据库目录
nginx_DATA=/usr/local/web/nginx/conf      #要备份的NGINX配置文件
PHP_Config=/usr/local/web/php/etc         #要备份的PHP配置文件
Ftp=/usr/local/web/pureftpd               #要备份的PURE-FTPD
Config=/etc/init.d/                             #要备份的服务文件
ppp=/etc/ppp                                    #要备份的PPP(pptp)账号数据
Folder=/home/backup                             #备份文件夹
#你要修改的地方从这里结束
#把时间加入变量
Date=$(date +"%Y%m%d")

#手动备份删除今日数据
rm -fr /$Folder/$Date.tar.gz

#删除5天前的数据
rm -fr /$Folder/$(date -d -5day +"%Y%m%d").tar.gz

#创建今天的备份目录
mkdir -p /$Folder/$Date
#停止服务
/etc/init.d/mysqld stop

#打包mysql目录
cd $mysql_DATA
tar zcf /$Folder/$Date/mysql.tar.gz ./*

#运行服务
/etc/init.d/mysqld start
/etc/init.d/php-fpm reload
/etc/init.d/nginx reload

#压缩网站数据
cd $WEB_DATA
tar zcf /$Folder/$Date/web.tar.gz ./*

#压缩NGINX配置文件
cd $nginx_DATA
tar zcf /$Folder/$Date/domian.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 ./mysqld ./php-fpm ./vnstat

#复制SSHD配置文件
cp /etc/ssh/sshd_config /$Folder/$Date

#复制MYSQL配置文件
cp /etc/my.cnf /$Folder/$Date

#打包PPP配置以及PPTP拨号帐号
cd $ppp
tar zcf /$Folder/$Date/ppp.tar.gz ./*

#整体打包
cd /$Folder/
tar zcf /$Folder/$Date.tar.gz ./$Date/*

#删除临时目录
rm -fr /$Folder/$Date

#更改所有者
chown -R www:www /$Folder

#脚本完成退出,防止僵尸进程
exit