mysql数据库备份_可执行文件

这段时间接手运维的工作,刚开始就尝到了数据丢失的痛!老板抱怨,同事抱怨!都说先删库再跑路,我还不想跑!

下面是我的备份记录:(分4步)

1.编写备份执行文件sqlAutoBak.sh

 1 #!/bin/sh
 2 
 3 # Database info
 4 DB_USER="数据库用户"
 5 DB_PASS="数据库密码"
 6 DB_HOST="localhost"
 7 DB_NAME="数据库名"
 8 
 9 # Others vars
10 BIN_DIR="/usr/local/mysql/bin"            #the mysql bin path
11 BCK_DIR="/root/data_backups/timing"    #备份文件位置
12 DATE=$(date "+%Y-%m-%d_%H:%M:%S")
13 
14 # 备份命令
15 $BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS -h$DB_HOST $DB_NAME > $BCK_DIR/db_$DATE.sql

 2.上传到服务器中,给文件sqlAutoBak.sh赋权限

# chmod 777 sqlAutoBak.sh

3.编辑定时任务

crontab -e

将下面语句加到任务中

 17 17 *   * * /bin/sh /root/data_backups/timing/sqlAutoBak.sh                       #(每天17时17分备份)
19 17 *   * * /bin/sh /root/data_backups/timing/sqlAutoBak.sh         #(每天17时19分备份)
 
上面语句时间分别对应:   
19   17       *     *      *
分    时   日期  月  星期
 
/root/data_backups/....对应执行文件位置!
 
注:多个任务就加多条任务语句,多个数据库就多加执行文件
 
 
4.重启crond
service crond  restart    //重启
service crond  status     //查看状态
 

Linux 系统下,如果已经有了Crond的作业,但是发现它并没有执行的话,可能有下面几个原因:

1、crond服务没有启动;

2、crontab没有按要求添加;

3、crontab的使用者帐号受到限制;

4、脚本或者命令没有可执行权限;

5、服务器时间与本地时间的不同步;

 
原文地址:https://www.cnblogs.com/tmftmb/p/9537636.html