Skip to content

Commit 98ce38a

Browse files
committed
2.20.06.01
1 parent 9668fb6 commit 98ce38a

9 files changed

+88
-16
lines changed

MANIFEST

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@ bin/mtls-kill-all-conections
1111
bin/mtls-log
1212
bin/mtls-monitor
1313
bin/mtls-perf-bench
14+
bin/mtls-random-passwd
1415
bin/mtls-sql-distribution
16+
bin/mtls-sql-playback
1517
bin/mtlsanalysis
1618
bin/mtlsbackup
1719
bin/mtlsbigfiles

bin/mtls-expired-tables

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,16 @@ def parser_cmd_args() -> argparse.ArgumentParser:
1616
"""
1717
处理命令行参数
1818
"""
19+
def str_to_bool(s):
20+
if s.upper() in ('YES','TRUE','ON'):
21+
return True
22+
else:
23+
return False
24+
1925
parser = argparse.ArgumentParser(name)
20-
parser.add_argument('--not-used-days',type=int,default=30)
21-
parser.add_argument('datadir',type=str,default="/tmp/")
26+
parser.add_argument('--black-list-mode',default='ON',type=str_to_bool,help='backup mode default on')
27+
parser.add_argument('--not-used-days',type=int,default=30,help="how long the table not used(days)")
28+
parser.add_argument('datadir',type=str,default="/database/mysql/data/3306/",help="mysql datadir")
2229
args = parser.parse_args()
2330
return args
2431

@@ -30,8 +37,13 @@ def main():
3037
args = parser_cmd_args()
3138
baseline = datetime.now() - timedelta(days=args.not_used_days)
3239
datadir = args.datadir
40+
3341
logging.info(f"分析数据目录({datadir})")
34-
logging.info(f"准备过虑出最近修改日期(mtime) < {baseline.isoformat()}")
42+
if args.black_list_mode:
43+
logging.info(f"准备过虑出最近修改日期(mtime) < {baseline.isoformat()}")
44+
else:
45+
logging.info(f"准备过虑出最近修改日期(mtime) > {baseline.isoformat()}")
46+
3547
if not os.path.isdir(datadir):
3648
logging.error(f"dir '{datadir}' not exits or permission denied ")
3749
exit(1)
@@ -56,7 +68,10 @@ def main():
5668
# 是 .ibd 文件或 .MYD 文件
5769
*_,atime,mtime,ctime = os.stat(path)
5870
mtime = datetime.fromtimestamp(mtime)
59-
if mtime < baseline:
71+
if mtime < baseline and args.black_list_mode:
72+
table,*_ = item.split('.')
73+
expired_tables.append(f"{schema}.{table}")
74+
elif args.black_list_mode == False and mtime > baseline:
6075
table,*_ = item.split('.')
6176
expired_tables.append(f"{schema}.{table}")
6277

bin/mtls-random-passwd

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#!/usr/bin/evn python3
2+
"""随机生成高强度的密码串
3+
"""
4+
5+
import os
6+
import string
7+
import random
8+
import argparse
9+
10+
11+
def main():
12+
"""
13+
"""
14+
# 处理参数
15+
name, *_ = os.path.basename(__file__).split('.')
16+
parser = argparse.ArgumentParser(name)
17+
parser.add_argument('--batch', '-b', type=int, default=1,
18+
help='一次随机产生多少密码(默认一个密码)')
19+
parser.add_argument('length', type=int, default=8,
20+
help='密码的长度')
21+
args = parser.parse_args()
22+
23+
batch = args.batch if args.batch >= 1 else 1
24+
length = args.length if args.length >= 8 and args.length <= 32 else 8
25+
26+
# 组合母串
27+
s = string.digits * 4 + string.ascii_letters + '+-*![{}]|_%$^&()~' * 2
28+
29+
# 重生随机密码串
30+
for i in range(batch):
31+
print(''.join(random.sample(s, length)))
32+
33+
34+
if __name__ == "__main__":
35+
main()
30.5 KB
Binary file not shown.
30.9 KB
Binary file not shown.
32.5 KB
Binary file not shown.

mtls/core.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
"""
2+
实现若干通用的核心函数
3+
"""
4+
import os
5+
import sys
6+
import time
7+
import mysql
8+
import random
9+
import string
10+
import logging
11+
import argparse
12+
13+
def check_python_version() -> None:
14+
"""
15+
检测当前的 python 版本是否被支持,只支持 python-3.0.x 以上的环境
16+
"""
17+
if sys.version_info.major <= 2:
18+
print("only support python-3.x",file=sys.stderr)
19+
sys.exit(1)
20+
21+
22+
23+

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
mysql-connector-python>=8.0.12
1+
mysql-connector-python>=8.0.17

setup.py

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,20 @@
11
from distutils.core import setup
22

3-
olds_scripts = ['bin/mtlsmonitor','bin/mtlsbackup','bin/mtlslog','bin/mtlsanalysis',
4-
'bin/mtlshttp','bin/mtlsbigfiles','bin/mtlsdeleterows']
3+
olds_scripts = ['bin/mtlsmonitor', 'bin/mtlsbackup', 'bin/mtlslog', 'bin/mtlsanalysis',
4+
'bin/mtlshttp', 'bin/mtlsbigfiles', 'bin/mtlsdeleterows']
55

6-
news_scripts = ['bin/mtls-big-files','bin/mtls-delete-rows','bin/mtls-file-truncate',
7-
'bin/mtls-http','bin/mtls-log','bin/mtls-monitor','bin/mtls-backup',
8-
'bin/mtls-perf-bench','bin/mtls-kill-all-conections','bin/mtls-sql-distribution',
9-
'bin/mtls-file-stat','bin/mtls-expired-tables']
6+
news_scripts = ['bin/mtls-big-files', 'bin/mtls-delete-rows', 'bin/mtls-file-truncate',
7+
'bin/mtls-http', 'bin/mtls-log', 'bin/mtls-monitor', 'bin/mtls-backup',
8+
'bin/mtls-perf-bench', 'bin/mtls-kill-all-conections', 'bin/mtls-sql-distribution',
9+
'bin/mtls-file-stat', 'bin/mtls-expired-tables', 'bin/mtls-sql-playback', 'bin/mtls-random-passwd']
1010

1111
scripts = olds_scripts + news_scripts
1212

1313
setup(name='mysqltools-python',
14-
version='2.19.09.01',
14+
version='2.20.06.01',
1515
scripts=scripts,
16-
packages=['mtls','mtls.kits'],
16+
packages=['mtls', 'mtls.kits'],
1717
maintainer='Neeky',
1818
maintainer_email='neeky@live.com',
1919
url='https://github.com/Neeky/mysqltools-python',
2020
)
21-
22-
23-

0 commit comments

Comments
 (0)