-
每天2:31备份数据库my1到 /data/backup/db
-
备份开始和备份结束能给出相应的提示信息
-
备份后的文件要求以备份时间为文件名,并打包成.tar.gz的形式
-
在备份的同时,检查是否有十天前的数据库文件,并且将其删除
将脚本放在usr/sbin:这个目录是root用户调用的目录,具有一定的权限
crontab -e
:调出定时任务
#!/bin/bash-
#备份的目录
BACKUP=/data/backup/db
#当前时间
DATETIME=$(date +%Y-%m-%d_%H%M%S)
echo $DATETIME
#配置数据库的地址
HOST=localhost
#数据库的用户名
DB_USER=root
#数据库的密码
DB_PW=1234
#备份的数据库
DATABASE=cc
#创建备份目录 不存在--创建
[ ! -d "${BACKUP}/${DATETIME}" ] && mkdir -p "${BACKUP}/${DATETIME}"
#备份数据库
mysqldump -u${DB_USER} -p${DB_PW} --host=$(HOST) -q -R --databases ${DATABASE} | gzip > ${BACKUP}/${DATETIME}/$DATETIME.sql.gz
#将文件处理为tar.gz
cd ${BACKUP}
tar -zcvf $DATETIME.tar.gz ${DATETIME}
#删除备份的目录
rm -rf ${BACKUP}/${DATETIME}
#删除十天前的备份文件,按十天查找,按名字查找atr.gz
find ${BACKUP} -atime +10 -name "*.tar.gz" -exec rm -rf {} \;
echo "备份数据库$DATETIME 成功~"
--------------------------------------------------------------------------------------
创建定时任务:
crontab -e
00 23 * * * root/use/sbin/mysqld.sh
23表示每天的23点的时候执行(注意看下时间是否一致,不一致date -R)
crontab -l --查看任务
-
✴️版权声明 © :本书所有内容遵循CC-BY-SA 3.0协议(署名-相同方式共享)©