centos定时备份web工程和sql文件并上传到ftp

参考 http://www.levil.cn/post/28/ ,对这篇博客的命令做了几处细微修改,执行成功


下面这个命令保存为backup.sh文件,web工程在/opt/tomcat7/webapps下,projectname是工程名,改成自己的, 数据库mysql安装在/usr/local/mysql下, 用户名root,密码mysqlpassword,数据库mysqldatabase,导出的数据库名字为backup.sql .  今天是2013年1月2日,  web工程打包形如web_130102.tar.gz, mysql数据库文件打包为sql_120102.sql.

打包完成复制到/opt/backup文件下,并通过ftp上传到服务器,在这里,服务器ip为ftpip,端口为ftpport,用户名为ftpuser,密码ftppass,


#!/bin/bash

cd /opt/tomcat7/webapps
WebBakName=web_$(date +%y%m%d).tar.gz
tar zcvf $WebBakName projectname
SqlBakName=sql_$(date +%y%m%d).tar.gz
/usr/local/mysql/bin/mysqldump -u root --password=mysqlpassword  mysqldatabase >backup.sql
tar zcvf $SqlBakName backup.sql
cp $SqlBakName /opt/backup/
cp $WebBakName /opt/backup/
ftp -i -n ftpip  ftpport  << EOF

user ftpuser  ftppass

binary

hash

put $WebBakName

put $SqlBakName
quit
EOF

rm -f backup.sql $WebBakName $SqlBakName


接着输入chmod +x backup.sh给脚本添加执行权限,再输入:crontab -e编辑任务自动开始时间,比如输入:
00 05 * * 1 /home/backup.sh 就代表每周1的上午5点整执行该自动备份操作。

crontab命令其实很简单,第一位为分,第二位为小时,第三位是天,第四位为月份,第五位为星期, 用过java里面quartz框架就会觉得它很简单。不太清楚的话可以百度一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值