mysql定时任务删除数据 作者:matrix 被围观: 3,421 次 发布时间:2020-03-31 分类:mysql | 一条评论 » 这是一个创建于 883 天前的主题,其中的信息可能已经有所发展或是发生改变...最近修改:2022-08 需要每天定时删除旧数据 避免占用大量磁盘空间 用到mysql事件调度器event_scheduler SHOW VARIABLES LIKE 'event_scheduler...select EVENT_NAME,LAST_EXECUTED from information_schema.EVENTS; DROP EVENT [IF EXISTS] event_name;#删除事件...定时删除旧数据 #每天定时清理 只保留最近30天数据schedule_del_depth5_eos_quarter表 CREATE EVENT IF NOT EXISTS schedule_del_depth5
方法有多种,如通过脚本去定期执行SQL、使用mysql自带的删除策略,windows、linux 的定时任务就不记录了,就是通过脚本定时去调用mysql执行sql。...本文仅介绍推荐的MYSQL删除策略 自 MySQL5.1.6起,增加了一个非常有特色的功能–事件调度器(Event Scheduler),可以用做定时执行某些特定任务(例如:删除记录、对数据进行汇总等等...更值得 一提的是MySQL的事件调度器可以精确到每秒钟执行一个任务,而操作系统的计划任务(如:Linux下的CRON或Windows下的任务计划)只能精 确到每分钟执行一次。...second do delete from operator_record_log where create_date < DATE_SUB(CURDATE(),INTERVAL 30 DAY); 例如:指定时间将表清空...operator_record_log; 3、关闭事件 alter event event_name disable; 4、开启事件 alter event event_name enable; 5、删除事件
需求: Mysql用户信息表,每隔15天进行一次清理,只保留15天内的用户数据 1.表结构 class UserInfo(db.Model): __tablename__ = '用户信息表'...1; 或可以在配置my.cnf文件 中加上 event_scheduler = 1 3.查看是否开启事件调度 SHOW VARIABLES LIKE 'event_scheduler'; 4 创建每天删除...创建存储过程 mysql> delimiter $$ #将语句的结束符号从分号;临时改为两个$$(可以是自定义) mysql> CREATE PROCEDURE `del_data_count`(IN...TO_DAYS(NOW()) - TO_DAYS(FROM_UNIXTIME(unix_timestamp(create_time),'%Y%m%d'))) >=date_inter -> END$$ mysql...> delimiter ; #将语句的结束符号恢复为分号 6 查看已有定时事件任务 SHOW EVENTS; 7.事件的开启与关闭 开启某事件: ALTER EVENT del_tbl_expired_data
#删除7天前的文件 find /tmp -type f -mtime +7 -exec rm -f {} \; #扩展阅读: find /tmp -cmin -600 -size +10M -cmin
不得已只能采用定期删除未读消息的方案来弥补设计缺陷。 2. 实现脚本 delmsg.sh内容如下: #!.../bin/bash cd ~/delmsg/ # 已处理的最大logid,首次为0 max_logid=`cat max_logid.txt` # 从mysql导出三天前的数据,这部分可以删除。...d=`date +'%Y-%m-%d'` mysql -u user1 -p123456 -h 10.10.10.1 -P3306 -D db1 -N -e " select logid, userid...-p 30001 info | grep 20007 | awk -F, {'print $3'} | awk -F= {'print $2'} | awk -F: {'print $1'}` # 删除消息
指定删除日志 因为ES保存日志是永久保存,所以需要定期删除一下日志,下面命令为删除指定时间前的日志 curl -X DELETE http://xx.xx.com:9200/logstash-*-...`date +%Y-%m-%d -d "-$n days"` 通过curl发送DELETE命令给elasticsearch服务器,进行日志删除操作。...命令示例如下: #删除所有包含字符串——“-2020.07.11” 的index(可以理解为删除7月11日当天的日志) curl -XDELETE 'http://xxx:9200/*-2020.07.11...*' #删除所有包含字符串——“-2020.10” 的index(可以理解为删除10月一整月的日志) curl -XDELETE 'http://xxx:9200/*-2020.10*' 定时删除日志...ES自动删除30天以前日志 #!
删除tomcat日志脚本位置 目录:脚本放于D:\apps\script\删除日志文件.bat 时间:每天00:00:08执行一次 02. 在定时任务之间设定定时时间: 03....删除日志脚本内容 rem 删除tomcat的日志,保留30天的日志 forfiles /p "D:\apps\apache-tomcat-7.0.82\logs" /s /m *.log /d -30
不过不影响数据库的备份 3.设定定时任务(ubuntu的crontab) 执行命令: crontab-e,输入 1 4 * * * python /home/web/db_backup/db_backup.py
Linux下如果想要批量删除制定时间的文件,可以使用find命令: find /home -maxdepth 1 -type f -newermt "Nov 22" -print find命令查找...日创建的类型是文件的该层文件并打印输出 -maxdepth 用于设置查找的最大层数,设置为1是不让递归查找 -type 制定查找的类型 -newermt 制定查找的时间 如果我们使用-delete参数则会删除制定时间的文件
♩ 背景 随着网站体量的不断增大,很多缓存日志造成资源你的浪费,为此,想着写一个计划任务,定期删除没必要的缓存数据 ♪ 操作指导 ①....: 指定查找对象名称以.log结尾 -mtime +10: 查找10天以前的老文件 -mmin +120: 查找120分钟(两小时)以前的老文件 -exec rm -rf {} ; :执行删除命令...通过分析以上数据,判断哪个目录或者缓存、log文件占用资源大,进行后面的删除操作 ②....参考文章: 【计划任务定时删除文件(共7篇)】 【Linux 删除指定时间前的文件】 【Linux crontab 定时任务整理笔记】
\r\n0未删除\r\n1删除', PRIMARY KEY (`id`,`entry_time`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=...`PARTITIONS` where table_name='hc_lot_history' #删除分区 alter table hc_lot_history drop partition p20190605...p_time,'")))'); PREPARE stmt from @v_add; EXECUTE stmt; DEALLOCATE PREPARE stmt; END #查看定时状态...show variables like 'event_scheduler'; #将系统定时打开 SET GLOBAL event_scheduler = on; ?...#定时事件 CREATE DEFINER=`root`@`%` EVENT `event_day` ON SCHEDULE EVERY 1 DAY STARTS '2019-06-04 23:00:00
简介 在生产环境上,为了避免数据的丢失,通常情况下都会定时的对数据库进行备份。而Linux的crontab指令则可以帮助我们实现对数据库定时进行备份。...假如你需要在每天晚上8点整执行定时任务,那么可以这么写 0 8 * * * [command] 扩展: crontab -l 可以查看自己的定时任务 crontab -r 删除当前用户的所有定时任务...在系统中自定义了个变量mysqldump_date,给备份和压缩命令使用 gzip 为压缩命令,默认压缩了之后会把源文件删除,压缩成.gz文件 find ......这行命令的意思为,查询 /var/backups/mysql/目录下,创建时间15天之前(-mtime +15),文件名后缀为.sql的所有文件 执行删除命令-exec rm -f {} \;。...总的意思就是:mysql的备份文件只保留15天之内的。15天之前的都删除掉。 数据恢复 若一不小心你执行drop database,稳住,淡定。我们首先要创建数据库被删除的数据库。
#导出数据库为sql脚本 /bin/tar zcvhf 备份文件名前缀_$date.tar.gz 备份文件名前缀_$date.sql; #压缩sql脚本 rm 备份文件名前缀_$date.sql #删除...sql文件 现在我们将这个脚本添加到定时任务中去,让每天都执行一次 使用crontab -l命令查看当前定时任务 使用crontab -e 命令编辑用户的定时任务,会使用vi编辑一个文本文件。
本片文章介绍的方案是利用Linux自身的crontab定时任务功能,定时执行备份数据库的脚本。...dump_mysql.sh 给脚本赋予可执行权限 chmod +x dump_mysql.sh, 执行后脚本变绿了就是可实行文件 执行方法:..../加脚本名称 chmod命令参数含义-- + 代表添加某些权限 x 代表可执行权限 定时任务crontab crontab是Linux自带的一个定时任务功能,我们可以利用它每天凌晨执行一次dump_mysql.sh...crontab用法: crontab -l 查看定时任务列表 crontab -e 编辑(新增/删除)定时任务 运行crontab -e命令,打开一个可编辑的文本,输入00 01 * * * /app/...内容解释: 00 01 * * * /app/dump_mysql.sh 分两部分看, 第一部分00 01 * * * 是定时任务的周期,第二部分/app/dump_mysql.sh到时间做的事情。
CREATE PROCEDURE del_line() BEGIN DECLARE count_line INT; /** 先删除索引提高删除速度*/ ALTER TABLE test_road
惰性删除 惰性删除是指,某个键值过期后,该键值不会被马上删除,而是等到下次被使用的时候,才会被检查到过期,此时才能得到删除。...定时删除 定时删除是指,每隔一段时间执行一次删除操作,并通过限制删除操作执行的次数和频率,来减少删除操作对CPU的长期占用。...另一方面定时删除也有效的减少了因惰性删除带来的对localStorage空间的浪费。 每隔一秒执行一次定时删除,操作如下: 随机测试20个设置了过期时间的key。 删除所有发现的已过期的key。...若删除的key超过5个则重复步骤1,直至重复500次。...== ) { break; } checkCount++; } } //每隔一秒执行一次定时删除
超过一定时间的日志就没有了参考的价值,也会占用空间,所以一般的项目都会删除日志。本篇文章的需求是删除 7 天之前的日志,大致分为两步,一是删除日志的命令,二是设置定时任务。...删除指定时间的日志 首先是查找所有 7 天前的日志,使用 find 查找的时候加上 -mtime 参数,其含义为 查找在指定时间曾被更改过的文件或目录,单位以24小时计算。...编辑定时任务,执行 crontab -e 将删除日志命令追加到末尾 ,设定为每分钟执行一次。...,没有手动删除,日志已经被自动删除了。...当然不需要每分钟来执行一次,将时间设定为每天 1 点的时间,最终定时任务以及删除日志命令如下 0 1 * * * find you/path -mtime +7 -name '*.log' -exec
--vivo Linux中实用的文件删除和备份脚本 在实际工作中,避免不了需要批量删除某一些文件,或者备份一些文件,所以这就交给脚本完成就好,但是使用中一定要谨慎使用。...删除文件 首先准备好你要删除的文件目录到一个list.txt中 例如: ls -1 > list.txt 这个命令会将当前目录下的文件和目录名(不包括子目录)输出到 list.txt 文件中。...[ -f " rm "$line" 会删除指定的文件。 echo " 另外,对于文件删除操作,一定要小心,因为删除的文件无法恢复。对于需要删除的文件,最好先确认一下,避免误删。...当删除文件发生错误时,我们打印出错误信息。删除文件操作要特别小心,先在一些不重要的文件上测试。确认没有问题后,再在你要删除的文件上执行。...要定时执行这个脚本,你依然需要使用 cron 任务。
mysql删除主键和删除索引(含删除unique索引) ##删除表 DROP TABLE config_back; ##删除主键 ALTER TABLE config_back DROP PRIMARY...update_op` varchar(50) DEFAULT NULL COMMENT '修改人', `is_delete` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否删除...0未删除 1已删除', PRIMARY KEY (`id`) ) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='配置表备份表...' 在MySQL中移除主键有以下几种不同的实现方法: 使用ALTER TABLE语句移除主键约束: ALTER TABLE 表名 DROP PRIMARY KEY; 这种方法适用于需要移除表中已有主键的情况...ALTER TABLE config_back DROP PRIMARY KEY, ADD UNIQUE KEY (`price_end`); ##删除索引(含删除unique索引) ALTER TABLE
的日志文件占据了大部分空间 , 整整27G,于是现在的任务就是清理mysql的日志文件(主要是清理.log文件和mysql-bin.00000X二进制日志文件) 一、删除mysql日志文件 第一步:登陆进入...删除日志文件的命令:purge binary logs to ‘mysql-bin.000005’;mysql> purge binary logs to 'mysql-bin.000005'; 删除除...删除后就能释放大部分空间。 二、mysql 定时清理日志文件 如果每次等到发现空间不足的时候才去手动删除日志文件, 这种方式是很不理想的。...编辑mysql的配置文件,设置expire_logs_days(mysql定时删除日志文件) [root@sam ~]# vim /etc/my.cnf 在my.cnf中,添加或修改expire_logs_days...的值 (这里设置的自动删除时间为10天, 默认为0不自动删除)expire_logs_days=10修改后,重启mysql就会生效。