此脚本可以自动ftp 备份脚本,但是无法自动上传到ftp,求分析原因

linux下自动备份网站/数据库/绑米信息/自动上传FTP脚本
稿源:主机码
对于我们个人站长来说,数据的重要不用再谈,而很多站长经常忘记备份数据,也有无良的JS跑路,硬盘损坏,数据丢了,其中DS就丢失过好几次数据,如果没有备份,肯定悲剧,本文介绍一种自动备份数据的方法!
本脚本特色:
1.纯zip压缩,1-9可自行调整压缩率
2.整台VPS备份,还原方便,非常适合站群
3.加入压缩密码,可以自己设置
4.加入绑米信息伪静态压缩,防止伪静态弄丢
5.请确保在home目录下有backup目录,如果没有请执行 mkdir /home/backup
6.还原数据库请参考:导入数据库方法
最后更新时间:日
centos***zip
&yum install zip
debian***zip
apt-get install zip
wget -c http://www.***.com/soft/beifen.sh
vi beifen.sh
只编辑注解为需要修改的地方
【脚本开始】
#!/bin/bash#下面的参数是你要修改的MYSQL_USER=root&&&&&&&&&&&&&&&&&&&&&&&&&&&& #mysql用户名MYSQL_PASS=mysql密码&&&&&&&&&&&&&&&&&&&&& #mysql密码FTP_USER=FTP用户名&&&&&&&&&&&&&&&&&&&&&&&&&&&&& #ftp用户名FTP_PASS=FTP密码&&&&&&&&&&&&&&&&&&&&&&&& #ftp密码FTP_IP=FTP地址&&&&&&&&&&&&&&&&&&&&&&&&& #ftp地址FTP_backup=FTP目录&&&&&&&&&&&&&&&&&&&&&&&&& #ftp上存放备份文件的目录,这个要自己得ftp上面建的WEB_DATA=/home/wwwroot/&&&&&&&&&&&&&&&&&&&&&&&&& #要备份的网站数据WEB_BANGMI=/usr/local/nginx/conf/&&&&&&&&&&&&&&&&&&&&&&&&& #要备份的绑米信息WEB_MULU=/home/backup&&&&&&&&&&&&&&&&&&& #备份文件存放目录WEB_MIMA=zhujima&&&&&&&&&&&&&&&&&&& #备份时候的密码WEB_YASUOLV=1&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& #压缩率 1-9 如果VPS没有zip,请***zip#上面是你要修改的地方&#删除淘宝客缓存,属于自定义设置。可自行操作#rm -rf /home//Apicache/*&#定义数据库的名字和旧数据库的名字DataBakName=Data_$(date +"%Y%m%d").zip&&&&&& #定义数据库名字WebBakName=Web_$(date +%Y%m%d).zip&&&&&&&&&& #定义备份网站名字BANGMI=BANGMI_$(date +%Y%m%d).zip&&&&&&&&&&& #定义绑米备份名字&OldData=Data_$(date -d -5day +"%Y%m%d").zip& #定义5天前数据库名字OldWeb=Web_$(date -d -5day +"%Y%m%d").zip&&& #定义5天前网站名字BANGMIshan=BANGMI_$(date -d -5day +"%Y%m%d").zip&& #定义5天前绑米名字&#删除本地3天前的数据rm -rf $WEB_MULU/Data_$(date -d -3day +"%Y%m%d").zip $WEB_MULU/Web_$(date -d -3day +"%Y%m%d").zip $WEB_MULU/BANGMI_$(date -d -3day +"%Y%m%d").zip&#导出全部数据库cd $WEB_MULU/usr/local/mysql/bin/mysqldump -u$MYSQL_USER -p$MYSQL_PASS --all-databases & $(date +"%Y%m%d").sql&#压缩数据库文件为一个文件zip -r -$WEB_YASUOLV -P $WEB_MIMA $DataBakName $WEB_MULU/*.sqlrm -rf $WEB_MULU/*.sql&#压缩网站数据cd $WEB_DATAzip -r -$WEB_YASUOLV -P $WEB_MIMA $WebBakName ./*mv $WebBakName $WEB_MULU/$WebBakNamecd $WEB_MULU&#压缩绑米信息cd $WEB_BANGMI #进入绑米目录zip -r -$WEB_YASUOLV -P $WEB_MIMA $BANGMI ./*mv $BANGMI $WEB_MULU/$BANGMI&#上传到FTP空间,删除FTP空间5天前的数据cd $WEB_MULU #进入备份目录ftp -v -n $FTP_IP && ENDuser $FTP_USER $FTP_PASStype binarycd $FTP_backupdelete $BANGMIshandelete $OldDatadelete $OldWebput $DataBakNameput $WebBakNameput $BANGMIbyeEND
加入权限,写入定时执行
chmod 777 /root/beifen.sh
crontab -e
30 21 * * * /root/beifen.sh
注:每天21:30开始备份并且上传FTP
本文地址:
有好的文章希望站长之家帮助分享推广,猛戳这里
本网页浏览已超过3分钟,点击关闭或灰色背景,即可回到网页CentOS中使用Shell脚本实现每天自动备份网站文件和数据库并上传到FTP中
时间: 06:50:56
&&&& 阅读:59
&&&& 评论:
&&&& 收藏:0
标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&一、***Email发送程序
yum install sendmail mutt
二、***FTP客户端程序
本脚本需要用到FTP客户端程序将文件上传到FTP空间上面,因此必须***FTP客户端,否则将出现ftp命令无法找到的错误。
***步骤请参考:《》
三、在/root目录下新建脚本文件:AutoBackupToFtp.sh,内容如下:
#!/bin/bash
#你要修改的地方从这里开始
MYSQL_USER=root&&&&&&&&&&&&&&&& #mysql用户名
MYSQL_PASS=123456&&&&&&&&&&&&&& #mysql密码
&&&&&&&& #数据库发送到的邮箱
FTP_USER=ftpuser&&&&&&&&&&&&&&& #ftp用户名
FTP_PASS=ftpuserpassword&&&&&&& #ftp密码
FTP_IP=xxx.xxx.xxx.xxx&&&&&&&&& #ftp地址
FTP_backup=backup&&&&&&&&&&&&&& #ftp上存放备份文件的目录,这个要自己得ftp上面建的
WEB_DATA=/home/wwwroot&&&&&&&&& #要备份的网站数据,如果是使用lnmp***包,则默认这个为网站目录
#你要修改的地方从这里结束
#定义数据库的名字和旧数据库的名字
DataBakName=Data_$(date +"%Y%m%d").tar.gz
WebBakName=Web_$(date +%Y%m%d).tar.gz
OldData=Data_$(date -d -5day +"%Y%m%d").tar.gz
OldWeb=Web_$(date -d -5day +"%Y%m%d").tar.gz
#删除本地3天前的数据
rm -rf /home/backup/Data_$(date -d -3day +"%Y%m%d").tar.gz /home/backup/Web_$(date -d -3day +"%Y%m%d").tar.gz
cd /home/backup
#导出数据库,一个数据库一个压缩文件
for db in `/usr/local/mysql/bin/mysql -u$MYSQL_USER -p$MYSQL_PASS -B -N -e ‘SHOW DATABASES‘ | xargs`; do
&&& (/usr/local/mysql/bin/mysqldump -u$MYSQL_USER -p$MYSQL_PASS ${db} | gzip -9 - & ${db}.sql.gz)
#压缩数据库文件为一个文件
tar zcf /home/backup/$DataBakName /home/backup/*.sql.gz
rm -rf /home/backup/*.sql.gz
#发送数据库到Email,如果数据库压缩后太大,请注释这行
echo "Content:This email is auto send by vps..." | mutt -a /home/backup/$DataBakName -s "Subject:VPS Database Backup" $MAIL_TO
#压缩网站数据
tar zcf /home/backup/$WebBakName $WEB_DATA
#上传到FTP空间,删除FTP空间5天前的数据
ftp -v -n $FTP_IP && END
user $FTP_USER $FTP_PASS
type binary
cd $FTP_backup
delete $OldData
delete $OldWeb
put $DataBakName
put $WebBakName
给脚本添加执行权限:
chmod 774 /root/AutoBackupToFtp.sh
利用系统crontab实现每天自动运行:
crontab -e
输入以下内容:
00 02 * * * /root/AutoBackupToFtp.sh
其中00 02为时间分/小时,可自行修改,例如:30 12 ***,就是每天12.30运行这个脚本。标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&原文:http://www.jb51.net/article/58843.htm
教程昨日排行
&&国之画&&&& &&&&&&
&& &&&&&&&&&&&&&&
鲁ICP备号-4
打开技术之扣,分享程序人生!

参考资料

 

随机推荐