1. 备份脚本
在文件夹 /home/zqyu/database_bak
下创建脚本文件 db-backup.sh
, 数据库账号是root
,密码是123456
, backupSize
表示要保留的备份文件数量,备份 db_1,db_2,db_3三个数据库
#!/bin/bash
set -e
mhome=/home/zqyu/database_bak
today=$(date "+%Y%m%d_%H%M%S")
db_names=(db_1 db_2 db_3)
for db in ${db_names[@]}
do
echo '备份数据库 '${db}' 中...'
mkdir -p ${mhome}/${db}
cd ${mhome}/${db}
mysqldump -u root --password='123456' ${db} | gzip > ${mhome}/${db}/${today}.sql.tar.gz
backupSize=30
index=0
for bak in $(ls -r)
do
if [ ${index} -ge ${backupSize} ]; then
rm -f ${bak}
# echo ${bak}
fi
index=$(expr ${index} + 1)
done
done
2. 添加定时任务
$ crontab -e
添加定时任务,ESC
后 :wq
保存
# 每天02:05备份一次数据库
05 02 * * * bash /home/zqyu/database_bak/db-backup.sh
网友评论