VPS备份所有数据脚本
2011-10-20 20:40
218 查看
代码来自网络,备份的比较齐全,网站文件夹,php/mysql/nginx/ssh的配置文件,还有crontab任务列表也备份了,执行脚本后最后会生成一个tar.gz文件,按当天日期命名。
生成的文件应该不会小,所以发送到邮箱不合适,可以上传到FTP,相关代码网上很多,我自己没安装ftp,所以是两台VPS备份后,互相下载。
保存下面代码,或者从这下载脚本。
给脚本添加权限
用crontab实现每天0点自动备份,crontab -e
转自:http://014.cc/backup
生成的文件应该不会小,所以发送到邮箱不合适,可以上传到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
转自:http://014.cc/backup
相关文章推荐
- 编写shell脚本将VPS上的数据备份到Dropbox网盘的方法
- 利用Shell脚本实现自动备份VPS数据到Dropbox
- linux下实现VPS web和mysql数据的备份脚本
- 编写shell脚本将VPS上的数据备份到Dropbox网盘的方法
- VPS(网站数据+数据库)自动备份脚本(本地+ftp异地备份)
- 报表服务器无法解密用于访问报表服务器数据库中的敏感数据或加密数据的对称密钥。必须还原备份密钥或删除所有加密的内容。
- Linux平台和Windows平台下两种自动备份MySQL数据的脚本(Shell&Bat)和步骤
- 交互脚本示例(2)-数据备份
- oracle数据备份脚本
- 备份mysql所有数据库的每个表的shell脚本
- sqlserver2008 数据备份,初始化所有数据从主数据库到备份数据库
- 自动备份mysql数据库脚本,适用小量数据
- SQLSERVER查询单个数据表所有字段名组合成的字符串脚本
- Mysql数据备份三(脚本备份mysqldump)
- 备份数据表为insert 脚本
- 可保留最近5次备份的数据备份脚本
- shell脚本备份mysql里面所有数据库到远程服务器
- Linux VPS/服务器 网站及数据库自动本地备份并FTP上传备份脚本
- Linux VPS 自动备份数据FTP到远程主机的脚本