#!/bin/sh # Auto Backup Mysql Database,Upload by ftp # Backup mysql use mysqldump # Must be execute mysqldump erevywhere,if not, create shortlink such as ln -s $MYSQL_PATH/bin/mysqldump /usr/bin/mysqldump # Author: Tomaer.Ma tomaer@woshidasb.com # #### 定义备份数据库文件的命名中的时间,为昨天的时间,格式为%Y%m%d #### 比如今天是2014年06月06日,那么下面的$YESTERDAY就是20140605 YESTERDAY=$(date +%Y%m%d -d "1 days ago") #### 这个步骤是选择性的,如果你要备份数据库中的某个库,可以使用这个配置,反则直接修改mysqldump语句即可 #### 定义需要备份的mysql的账号,密码,数据库 USERNAME=root PASSWORD=123456 DATABASE=test #### 首先删除备份的文件,确保备份的文件是干净的 rm -rf /data/backup/xxxx_mysql_datas_$YESTERDAY.sql #### 这个地方请自己自由发挥 mysqldump -u$USERNAME -p$PASSWORD $DATABASE >/data/backup/xxxx_mysql_datas_$YESTERDAY.sql #### 定义FTP的相关参数 FTP_IP=192.168.50.250 FTP_USER=ftpuser FTP_PASSWORD=ftpuser REMOTE_PATH=/ LOCAL_PATH=/data/backup ftp -n<<EOF open $FTP_IP user $FTP_USER $FTP_PASSWORD binary hash cd $REMOTE_PATH lcd $LOCAL_PATH put /data/backup/xxxx_mysql_datas_$YESTERDAY.sql bye EOF ####ftp上传完成之后删掉备份 rm -rf /data/backup/xxxx_mysql_datas_$YESTERDAY.sql
上面的就是脚本的所有内容,记得给予执行权限,然后结合 crontab 来定时执行脚本
chmod u+x 脚本名称
####每天凌晨一点钟执行脚本,后面是脚本的路径
0 1 * * * /data/backup/auto_backup
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于