参考文章:
Linux实现MySQL数据库数据自动备份,并定期删除以前备份文件-CSDN博客文章浏览阅读7.2k次,点赞7次,收藏29次。引言在学习过程中遇到了一个问题,见图:当我进入服务器的数据库时,原来的数据库和数据都不见了,只留下了一个名为WARNING的数据库和一条数据,阅读之后,我明白了缘由,黑客!信息中说的很清楚,需要向黑客支付一定数量的比特币来找回数据,先不说钱的问题,就算支付了比特币,能不能找回数据还是另一回事,有可能黑客只是粗暴地将数据删除了。这是我第一次遇见黑客,在平常学习中,我的数据只是简单的测试数据...https://blog.csdn.net/SWPU_Lipan/article/details/80752480
在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定时任务中,无法执行删除文件的命令,经测,将带$的命令改成文件路径即可: