定时任务备份数据库

1.登录到服务器

2.创建存放脚本文件 将脚本写到目录 /usr/local/xym

cd /usr/local;

mkdir xym;

touch sqlAutoBak.sh;

vi sqlAutoBak.sh;

脚本中写

定时任务备份数据库

#!/bin/sh

# Database info
DB_USER="root"
DB_PASS="root"
DB_HOST="localhost"
DB_NAME="dailian"

# Others vars
BIN_DIR="/usr/bin"            #the mysql bin path
BCK_DIR="/mnt/mysqlBackup"    #the backup file directory
DATE=`date +%F`

# TODO
# /usr/bin/mysqldump --opt -ubatsing -pbatsingpw -hlocalhost timepusher > /mnt/mysqlBackup/db_`date +%F`.sql
#备份数据库
$BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS -h$DB_HOST $DB_NAME > $BCK_DIR/db_$DATE.sql
#备份数据库为压缩文件
#$BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS -h$DB_HOST $DB_NAME > $BCK_DIR/db_$DATE.sql.gz
#还原数据库

#用mysql-front导入前一天的 *.sql 文件即可恢复数据

3.修改sqlAutoBak.sh文件权限可读写

chmod 777 sqlAutoBak.sh

4.创建要存备份数据库文件的目录

 cd /mnt

mkdir mysqlBackup

5.执行脚本 sqlAutoBak.sh

cd /usr/local/xym

./sqlAutoBak.sh

6.查看备份是否成功

cd /mnt/mysqlBackup

ls

定时任务备份数据库

7.编辑定时任务

执行

crontab -e

输入

00 05 *   * * /bin/sh /usr/local/xym/sqlAutoBak.sh
#每天早上 5:00am 执行

定时任务备份数据库

定时任务备份数据库

其中出现

crontab: installing new crontab

"/tmp/crontab.xmD6IB":1: bad command
errors in crontab file, can't install.

Do you want to retry the same edit

错误

可能原因 crontab格式错误,即没有按照规则写。修改完显示“crontab: installing new crontab”表示成功。

crontab 的语句是“分 时 日 月 周 命令”(之间有空格,如果多个月份,用逗号隔开,两个月份间的用“-”隔开),如果只限定分,时,其余的三个选项要用*(星号)补全