参考文章:
在mysql相关目录下创建备份文件保存目录,以及shell脚本文件,文件内容如下:
BACKUP_PATH=/home/mysql/data/mysqldata/mysqlbackup
MYSQL_DUMP=/home/mysql/mysql-8.0.25/bin/mysqldump
BACKUP_TIME=$(date +%Y%m%d.%H%M)
BACKUP_DB=ehrtest
DB_USER=root
DB_PAWD=root603048zjlm
${MYSQL_DUMP} -u${DB_USER} -p${DB_PAWD} ${BACKUP_DB} > ${BACKUP_PATH}/${BACKUP_DB}.sql
if [ $? -ne 0 ];then
echo "${BACKUP_TIME} mysqldump error " >> ${BACKUP_PATH}/dump.log
exit 1
fi
tar -zcvf ${BACKUP_PATH}/${BACKUP_DB}.${BACKUP_TIME}.tar.gz ${BACKUP_PATH}/${BACKUP_DB}.sql
rm -f ${BACKUP_PATH}/${BACKUP_DB}.sql
#将sql备份至备份服务器的备份路径
scp -p22 ${BACKUP_PATH}/${BACKUP_DB}.${BACKUP_TIME}.tar.gz root@10.0.10.52:/usr/aws/dev_mysql_backup
#删除10天前的文件
find ${BACKUP_PATH} -name "*.tar.gz" -mtime +60 -exec rm -rfv {} \;
exit 0
创建成功后,通过linux的crontab -e命令创建定时任务
问题点:
在crontab定时任务中,无法执行删除文件的命令,经测,将带$的命令改成文件路径即可: