#!/bin/bash
#任务描述: 每天凌晨1点执行一次,备份mysql中的ctfx数据库,防止客户审核的数据在DB奔溃的情况下丢失。
# crontab配置:0 1 * * * /bin/bash /mnt/task/db_sql_bak_v1.0.sh >> /mnt/task/logs/db_sql_bak_v1.0.log
# 备份目标目录:/mnt/doc/mysqlbak/
#
# crontab命令参考:
# vim /etc/crontab 在最后添加crontab配置【手动配置】
# 挂载任务前检查操作:
# 检查 mysqldump 命令是否存在
# 检查 gzip 命令是否存在
#
#检查备份目标目录是否存在,不存在则创建
bak_dir=/mnt/doc/mysqlbak/
db_name=ctfx
if [ -d ${bak_dir} ];then
echo "[INFO] ${bak_dir} directory is exist."
else
echo "[INFO] ${bak_dir} directory is not exist. Ready to create it."
mkdir -p ${bak_dir}
fi
#当天时间,如20190322
day=`date "+%Y%m%d"`
bak_file_name=${bak_dir}${db_name}_${day}.sql.gz
mysqldump -uroot -p123456 --database ${db_name} | gzip > ${bak_file_name}
#检查文件是否存在,存在则创建成功
if [ -f ${bak_file_name} ];then
echo "[INFO] the backup of ${db_name} is success."
else
echo "[WARN] the backup of ${db_name} is fail."
fi