背景 数据库运行久了, 日志就很多, 很占空间. 就需要定期清理, 人工清理一是麻烦, 二是容易出错 所以整了个清理日志的脚本. 脚本下载地址 1....见文末 脚本使用方法 配置下基本信息就行 懒点的只配置数据库信息也行. 注: 脚本不支持远程执行, 只能和数据库在一台服务器上....#数据库信息 MYSQL_HOST='127.0.0.1' MYSQL_PORT='3308' MYSQL_USER='root' MYSQL_PASSWORD='123456' MYSQL_SOCKET...image.png 配置定时任务(可选) crontab -e * 1 * * * sh /root/MysqlClearLog.sh 脚本内容 #!...LANG=en_US.UTF-8 export THIS_PID=$$ umask 0022 #EulerOS之类的默认umask可能不是0022, 会有目录权限问题 stty erase ^H #数据库信息
]# mkdir mysqlbackup [root@localhost ~]# cd mysqlbackup/ [root@localhost mysqlbackup]# vi backup.sh 脚本内容.../bin/bash #存放目录 BackupDir=/root/mysqlbackup #数据库库名 DataBaseName=shell_test #日期命名 DateTag=`date +%Y%m%...d` #sql脚本名字 sqltag=$DataBaseName'_'$DateTag'.'...mysqlbackup]# crontab -e 30 6 * * * /bin/bash /root/mysqlbackup/backup.sh >> /dev/null 2>&1 #每天早上6:30自动执行脚本进行数据库备份
需求背景 解决某些中间件或者应用日志无法自动清理的情况,比如:Nacos 的 access 日志。...清理 30 天前的日志文件 sh clear-logs.sh -p /home/nacos/logs -d 30 使用场景 Nacos access 日志清理 crontab 定时任务设置 $ crontab...===== # header 总行数 SCRIPT_HEADSIZE=$(head -200 "${0}" |grep -n "^# END_OF_HEADER" | cut -f1 -d:) # 脚本名称...SCRIPT_NAME="$(basename "${0}")" # 版本 VERSION="0.0.1" # 默认保留 7 天 DAYS=7 # 脚本执行日志目录 CLEAR_LOGS_LOG_PATH...sed -e "s/^#%//g" -e "s/\${SCRIPT_NAME}/${SCRIPT_NAME}/g" -e "s/\${VERSION}/${VERSION}/g" } # 初始化创建脚本日志目录
定时 数据库清理的两个脚本: 按天删除: #!...-%d` #生成ndate天前的日期,如: echo $datestr delSqlStr="DELETE FROM xxxx WHERE GeneDate = '$datestr'" #SQL语句 mysql...生成ndate天前的日期,如: echo $datestr delSqlStr="DELETE FROM xxxx WHERE insertTime < '$datestr'" #SQL语句 mysql
工作中本地maven仓库随着项目增多会变得越来越大,看着心烦,于是想着清理....没有发现很好的清理策略,只能从文件以及文件夹修改时间上入手,修改时间小于指定时间的文件夹以及文件都给删除,循环清理几次后仓库应该就干净了....附上清理脚本,实际上就是递归遍历文件夹然后判断文件更新时间,对比后决定是否要删除.首次清理后仓库从1.5G变为650M,清爽了不少.
json.log*) for log in $logs do ls -sh $log done echo -e "\033[44;37m 开始清理...for log in $logs do cat /dev/null > $log done echo -e "\033[44;37m 清理完毕
pause 复制脚本代码到一个文本文件中,然后更改文件类型(如:文件名由“系统垃圾清理.txt”改为“系统垃圾清理.bat”),然后双击即可执行清理。
数据同步脚本 1 mysqldump -h[remoteHost] -u[username] -p[password] -P[port] --databases [databasename1] [databasename2...] > DB_MKT_2020-06-29.sql 2 echo "备份完成"; 3 mysql -u[root] -p[123456] -h[localhost] < DB_MKT_2020-06-29...'QRTZ_FIRED_TRIGGERS', Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event's master log mysql_bin....000052, end_log_pos 362889117 找到DB_CFG库QRTZ_FIRED_TRIGGERS表,同步两个数据的数据即可
一、背景 由于业务增长,频繁的备份还原对于磁盘空间有了更大的空间需求,基本每周500G的磁盘,空间使用率都会达到85%以上,故编写Oracle清理脚本结合crond自动清理Oracle归档日志。...它能够备份整个数据库或数据库部件,如表空间、数据文件、控制文件、归档文件以及Spfile参数文件。...RMAN也允许您进行增量数据块级别的备份,增量RMAN备份是时间和空间有效的,因为他们只备份自上次备份以来有变化的那些数据块。...expired archivelog all; #删除过期的归档日志 delete noprompt archivelog all; #清除所有的归档日志 三、自清理脚本...,此在脚本内写的判断磁盘使用率大于80%进行清理,也可根据自己需求进行判断,或每次都执行清理。
一、需求 生产上有40多个微服务部署的应用,每个应用都会产生日志,随着时间的增长,日志量不断增大,现需要清理。有两个重要的应用日志需保留90天,其它应用保留20天。...三、清理脚本 #!...log_directory2 -type f -mtime +$Days2 -exec rm {} \; find $log_directory3 -type f -mtime +$Days2 -exec rm {} \; 清理脚本原理...清理脚本执行前每个日志目录log_dir有121个日志文件,执行完清理脚本后对应的减少。...2>&1 本文所有脚本已上传github
mysql批量数据脚本 1 建表 create table dept( id int unsigned primary key auto_increment, deptno mediumint...declare i int default 0; set i=floor(100+rand()*10); return i; end $$ 4 创建存储过程 a.创建往emp表中插入数据的存储过程...SALESMAN',0001,curdate(),2000,400,rand_num()); until i=max_num end repeat; commit; end $$ b.创建往dept表中插入数据的存储过程...until i=max_num end repeat; commit; end $$ 5 调用存储过程 call insert_dept(100,10);//从deptno为100起插入10条随机生成数据...call insert_emp(100001,5000000);//从empno为100001起插入5000000条随机生成数据
比如一个对数据表做清理的操作,可能看起来就是做些delete操作,有什么好的办法和技巧呢。...我这人一来懒,而来年龄也大了,不想起那么早执行这种维护管理工作,一种实现策略就是写个脚本定时执行,这种方案基本可行,唯一的难点就是我们对于执行过程的进度完全不可控,这些表的数据量都很大,看似简单的清理工作不光产生大量的日志...所以我的目标是:在正常时间进行数据清理工作,而且对于业务无感知。...,业务侧只会关注当天的数据,而后续的计算任务会在另外一个时段进行,也就意味着我们的数据清理和数据补录工作可以改造为一种异步模式。...而整个的数据写入根据测试,基本都是4秒内就可以完成数据写入。 执行清理之后的效果如何呢,可以看到清理的数据效果还是很不错的。 ?
最近接了个新需求,需要将我们经常使用的几个数据库,MySQL、influxdb在Linux系统上实现定时自动备份,比如每天备份一次,间隔31天清理31天之前备份的数据,研究了一下,准备先从MySQL实现...MySQL自己已经提供了命令行导出数据库数据以及文件的一种工具mysqldump,其实可以通过命令行直接导出数据库数据实现备份。...: mysql> source /test.sql 编写shell脚本维护备份的MySQL数据库文件 在linux中,通常使用BASH脚本对需要执行的内容进行编写,加上定时执行命令crontab实现日志自动化生成...以下代码功能就是针对mysql进行备份,配合crontab定时任务,实现备份的内容为近10天内的每天的mysql数据库记录。...在Linux中,使用vi或者vim编写脚本内容并命名为:mysql-dump.sh #!
昨天帮一个朋友看了MySQL数据清理的问题,感觉比较有意思,具体的实施这位朋友还在做,已经差不多了,我就发出来大家一起参考借鉴下。...首先这位朋友在昨天下午反馈说他有一个表大小是近600G,现在需要清理数据,只保留近几个月的数据。按照这个量级,我发现这个问题应该不是很好解决,得非常谨慎才对。...rename table,这是MySQL归档数据的一大利器,在其他商业数据库里很难实现。 但是为了保险起见,我说还是得看看表结构再说。结果看到表结构,我发现这个问题和我预想的完全不一样。...mysql> select max(Id) from test_data; +---------+ | max(Id) | +---------+ | 1603474 | +---------+ 1 row...按照这个思路来想,自己还有些成就感,发现这么大的一个问题症结,如果数据没有特别的存储,200万的数据其实也不算大,清理起来还是很容易的。
清理hdfs小文件shell脚本 #!...small_file_paths[*]}) do path="${small_file_paths[$key]}${date_20days_ago}" echo "清理
如何正确的清理MySQL中的数据 1. 为什么删了数据,表文件大小没有变 1.1 数据删除流程 删除记录,只会将记录标记为删除,表示该位置可以服用。 数据数据页,表示数据页可以复用。...使用 delete 删除所数据,所有的数据页会被标记为可复用,但是磁盘空间的占用没有变化。 1.2 数据空洞 删除,插入等操作会使数据页上出现空元素,也叫做数据空洞。 2....如何避免数据空洞 假设数据表A中存在大量数据空洞,解决的办法就是重建表。 2.1 重建表的流程 建立临时文件,扫描表A主键的所有数据页。 利用表A的记录生成B+树,存储到临时文件X。...临时文件X生成后,将日志文件应用到临时文件,得到新的临时文件 用临时文件 替换表A的数据文件。
如何实时查看数据信息呢,方式多的去了,但是还是脚本最为方便。 脚本导出到文件中demo示例 新建export.sh #!...# 端口号 MYSQL_PORT=3306 mysql -u${MYSQL_USER} -p${MYSQL_PWD} -P${MYSQL_PORT} -h${MYSQL_HOST} -D${MYSQL_NAME...character_set_client = utf8; set character_set_results = utf8; set character_set_connection = utf8; $1 EOF 执行脚本.../bin/bash MYSQL_USER=root MYSQL_PWD=123456 MYSQL_NAME=center MYSQL_HOST=172.0.0.1 MYSQL_PORT=3306 SQL_DATA...=`mysql -u${MYSQL_USER} -p${MYSQL_PWD} -P${MYSQL_PORT} -h${MYSQL_HOST} -D${MYSQL_NAME} << EOF set character_set_client
假设内容如下: create database pandacode; use pandacode; create table panda (name varchar(20)); 保存脚本文件,/Users...执行sql脚本 第一种方法 在命令行下(未连接数据库),输入 mysql -h localhost -u root -p123456 < /Users/guoshunfa/Downloads/pandacode.sql...第二种方法 在命令行下(已连接数据库,此时的提示符为 mysql> ),输入 source /Users/guoshunfa/Downloads/pandacode.sql (注意路径不用加引号的) 或者...F:\hello world\niuzi.sql (注意路径不用加引号的) 回车即可 参考文档 mysql下如何执行sql脚本
领取专属 10元无门槛券
手把手带您无忧上云