Linux crontab计划任务+python脚本实现定时清理mysql二进制日志
时间:2014-11-28 13:03 来源:linux.it.net.cn 作者:IT
mysql 数据库有开通二进制日志文件(用于记录数据库被操作的日志文件,用于日后来回滚或查找误操作步骤)
对于访问大的论坛来说,每天有成千上万次的请求数据库的操作,所以日志会非常占用服务器空间,每个文件
show binary logs;
显示mysql 二进制日志
多达1G以上,长期下去空间肯定不够。比较干净的清理方法,是登陆到mysql数据库里面执行以下命令
purge master | binary logs to | before ‘文件名’或者'日期' 来有指定的删除日志文件 。现在不会经常登陆到服务
器手动执行命令来删除日志,需要定时有计划的让服务器自动删除。所以编写一段python脚本代码 + crontab
计划任务来完成这个工作:
Linux crontab计划任务+python脚本实现定时清理mysql二进制日志
python代码 :
#/bin/python
#del_log.py 清理日志
import MySQLdb
conn = MySQLdb.connect(host='localhost',user="root",passwd="111111",db="mysql");
cursor = conn.cursor();
cursor.execute(""" purge master logs before current_timestamp - interval 10 day""")
""" purge master logs before current_timestamp - interval 10 day"""
用来删除前10天的数据库日志
$> 用crontab -e编辑crontab 计划任务文件,在文件最后一行添加 :
10 10 * * * python /root/del_log.py
上面这一行指:每天10:10 分 执行python /root/del_log.py文件
其实Bash 脚本就可以实现的 哈哈。。。
建一个名script脚本文件
文件里面输入:
#!/bin/bash
mysql -u root -h localhost -p123456 mysql<<EOFMYSQL
pugre master logs before current_timestamp-interval 10 day
EOFMYSQL
保存;
注意: -p123456 ,-p 和密码 123456 必须挨在一起,
不然执行脚本的时候会提示你输入密码》Enter password:
$:chmod 755 script 给脚本能够执行的权限
再添加计划任务
10 10 * * * /root/script 就可以每天执行清理日志的功能
(责任编辑:IT)
mysql 数据库有开通二进制日志文件(用于记录数据库被操作的日志文件,用于日后来回滚或查找误操作步骤) 对于访问大的论坛来说,每天有成千上万次的请求数据库的操作,所以日志会非常占用服务器空间,每个文件 show binary logs; 显示mysql 二进制日志 多达1G以上,长期下去空间肯定不够。比较干净的清理方法,是登陆到mysql数据库里面执行以下命令 purge master | binary logs to | before ‘文件名’或者'日期' 来有指定的删除日志文件 。现在不会经常登陆到服务 器手动执行命令来删除日志,需要定时有计划的让服务器自动删除。所以编写一段python脚本代码 + crontab 计划任务来完成这个工作: Linux crontab计划任务+python脚本实现定时清理mysql二进制日志 python代码 : #/bin/python #del_log.py 清理日志 import MySQLdb conn = MySQLdb.connect(host='localhost',user="root",passwd="111111",db="mysql"); cursor = conn.cursor(); cursor.execute(""" purge master logs before current_timestamp - interval 10 day""") """ purge master logs before current_timestamp - interval 10 day""" 用来删除前10天的数据库日志 $> 用crontab -e编辑crontab 计划任务文件,在文件最后一行添加 : 10 10 * * * python /root/del_log.py 上面这一行指:每天10:10 分 执行python /root/del_log.py文件
其实Bash 脚本就可以实现的 哈哈。。。 建一个名script脚本文件 文件里面输入: #!/bin/bash mysql -u root -h localhost -p123456 mysql<<EOFMYSQL pugre master logs before current_timestamp-interval 10 day EOFMYSQL 保存; 注意: -p123456 ,-p 和密码 123456 必须挨在一起, 不然执行脚本的时候会提示你输入密码》Enter password: $:chmod 755 script 给脚本能够执行的权限 再添加计划任务 10 10 * * * /root/script 就可以每天执行清理日志的功能 (责任编辑:IT) |