您的位置:首页 > 数据库 > SQL

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

2014-01-02 20:36 531 查看
参考 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框架就会觉得它很简单。不太清楚的话可以百度一下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐