Centos下MySQL的自动备份脚本
经测试,可用:
新建文件 /usr/sbin/bakmysql.sh 内容如下:
// 编辑文件命令(这行不要拷贝)
vi /usr/sbin/bakmysql.sh
// 下面为 执行任务脚本内容:
#DATE=`date +%Y%m%d%H%M` #every minute
DATE=`date +%Y%m%d` #every day
DATABASE=dbname #database name
DB_USER=root #database username
DB_PASS=123456 #database password
BACKUP=/root/bak #backup path
/usr/bin/mysqldump -u$DB_USER -p$DB_PASS -h 127.0.0.1 --default-character-set=utf8 ${DATABASE} > ${BACKUP}\/${DATABASE}_${DATE}.sql
// 文件到这里结束
// 添加权限
chmod +x /usr/sbin/bakmysql.sh
// 创建目录
mkdir /root/bak
// 测试是否执行成功
sh /usr/sbin/bakmysql.sh
// 编辑任务列表
crontab -e
测试用,每分钟执行一次
*/1 * * * * /usr/sbin/bakmysql.sh
实际用,每天凌晨3点执行1次
0 3 * * * /usr/sbin/bakmysql.sh
service crond restart
crontab 参数说明:
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令