linux下mysql自动备份并删除一定时间前的数据

2024-11-10 16:28:10

1、首先检查下有没有安装crond命令为# service crond status如果出现unrecognized service,则说明没有安装,如果出现crond is stopped,说明安装了,但是没有启动,如果出现crond is running,说明正在运行。

linux下mysql自动备份并删除一定时间前的数据

2、针对没有安装的,使用命令来安装:[root@VM_47_156_centos ~]# yum install vixie-cron,这是安装核心程序;

linux下mysql自动备份并删除一定时间前的数据

3、然后安装crontab,命令为[root@VM_47_156_centos ~]#yum install crontabs,安装完成后在输入一开始的service crond status 命令,就会出现crond is stopped;

linux下mysql自动备份并删除一定时间前的数据

4、首先新建一个存放备份的mysqlbackup文件夹,我在/usr/local/目录下建的,这个建在哪里都不影响,只要记清楚就行,但为了好维护并且看起来清晰,我准备把跟mysql备份相关的都放在mysqlbackup里面。建文件夹命令:#cd /usr/local#mkdir mysqlbackup然后新建一个mysqldata文件夹,存放备份文件#cd /usr/local/mysqlbackup#mkdir mysqldata

linux下mysql自动备份并删除一定时间前的数据

5、下面开始写执行文件,在mysqlbackup目录下新建一个sh文件,名字暂且叫aaa.sh,这个具体随你的习惯修改。命令为#vi /usr/local/mysqlbackup/aaa.sh

linux下mysql自动备份并删除一定时间前的数据

6、执行完之后新建文件并且进入到编辑状态;在下边的文本框输入小写的i,回车,框内出现---insert---字样

linux下mysql自动备份并删除一定时间前的数据linux下mysql自动备份并删除一定时间前的数据

7、然后在下边的文本框输入下边的内容,一次输入一行,回车backupdir=/usr/local/mysqlbackup/mysqldatatime=`date+%Y_%m_%d_%H_%M_%S`db_name=tvad_platformdb_user=rootdb_pass=tea@mysqlmysqldump -u $db_user -p$db_pass $db_name | gzip > $backupdir/$db_name$time.sql.gzfind $backupdir -name $db_name"*.sql.gz" -type f -mtime +30 -exec rm -rf {} \; > /dev/null 2>&1输入完成后,将光标定位到上边显示区域,取消文本输入框的光标闪烁,按下esc键,--insert---字样消失,

linux下mysql自动备份并删除一定时间前的数据

8、然后在下边的文本框输入冒号+小写的x(:x)回车,保存并退出。

linux下mysql自动备份并删除一定时间前的数据

9、backupdir就是备份文件放置的地方,就是刚才你新建的备份文件夹。最后一句中 -mtime+1,表示删除一天前的数据,-nmin+1,表示删除1分钟之前的数据然后新建一个执行文件的配置文件,用于注册到crond中#vi /usr/local/mysqlbackup/aaa_config

linux下mysql自动备份并删除一定时间前的数据

10、用和上面相同的编辑方法向这个文件插入内容0 0 * * * /usr/local/mysqlbackup/aaa_config.sh保存。

linux下mysql自动备份并删除一定时间前的数据

11、下边开启crond服务:#service crond start查看crond任务列表#crontab -l因为之前我的服务器已经配置过了,所以我这里的文件名是autobackupmysql.sh不是aaa.sh,可以根据自己的习惯改名。

linux下mysql自动备份并删除一定时间前的数据
猜你喜欢