python简单自动备份
该脚本的功能是模糊匹配到需要备份的文件,然后复制到指定路径。 import time,os path = '/opt/dmdbms/bak/' # 源目录 filename = 'DB_V3X_INCREMENT_'+time.strftime('%Y_%m_%d', time.localtime())+'*' dest = '/opt/upload/backup/dbbak/shizhengfu/' # 目标目录 if os.path.exists(path) and os.path.exists(dest): if os.system('cp -R %s %s > /dev/null 2>&1'%(path+filename,dest)) == 0: print ('备份成功!') else: print ('备份失败') else: print ('原路径或目标路径不存在!') 推荐python3运行该脚本。
docker版zabbix每个镜像的启动命令
1.mysql-server:latest docker run \ --name=mysql-server \ --hostname=1ee896ca9ff2 \ --mac-address=02:42:ac:11:00:03 \ --env=MYSQL_USER=zabbix \ --env=MYSQL_PASSWORD=zabbix_pwd \ --env=MYSQL_ROOT_PASSWORD=admins \ --env=MYSQL_DATABASE=zabbix \ --env=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \ --env=MYSQL_UNIX_PORT=/var/lib/mysql/mysql.sock \ --volume=/opt/docker/mysql:/var/lib/mysql \ -p 3307:3306 \ --expose=33060 \ --expose=33061 \ --restart=always \ --runtime=runc \ --detach=true \ -t \ mysql/mysql-server:latest \ --character-set-server=utf8 --collation-server=utf8_bin docker run --name mysql-server -t \ -p 3307:3306 \ -e MYSQL_DATABASE="zabbix" \ -e MYSQL_USER="zabbix" \ -e...
python批量进行ping检测
该脚本需要ping3模块,可以通过如下命令进行安装: pip3 install ping3 该脚本是zabbix的监控脚本,所以最后反馈Normal或者False。 import ping3 def ping(ip): a = 0 #ping成功计数器 for addr in ip: if ping3.ping(addr,timeout=5000,unit='ms'): #如果能ping通就把a+1 a = a+1 else: continue if a == len(ip): print ('Normal') #如果成功的次数和list的长度一致,说明网络正常 else: print ('False') if __name__ == '__main__': ping(['192.168.0.2','192.168.0.3']) 另一个实现方法: import subprocess def check_alive(ip): result = subprocess.call('ping -w 5 -c 1 %s' %ip,stdout=subprocess.PIPE,shell=True) if result == 0: print('%s 能ping通' %(ip)) else: print('%s ping不通!' % ip) if __name__ == '__main__': print("开始批量ping所有IP!") for i in ['192.168.0.2','192.168.0.3']: check_alive(i) 推荐python3运行脚本。
Python计算线程数
该脚本实现通过进程名获取到所有进程id,然后计算每个进程的线程数并相加。 from subprocess import check_output,getoutput def get_pid(name): #获取应用进程id return map(int,check_output(["pidof",name]).split()) if __name__ == '__main__': result=0 for pid in get_pid('sshd'): #sshd 替换为对应进程名 output = getoutput('pstree -p %s | wc -l'%(pid)) #返回线程数 result=result+int(output) #计算线程数总和 print (result)
运行python脚本时传入参数
python实现类似于sh tools.sh start效果. 使用sys.argv最简单的方式如下: def utils1(): print(sys.argv[1]) if __name__ == '__main__': utils1() 运行python testtmp.py start得到输出start. 当然根据日常使用情况,写的完整一些就是: class UtilClass: def __init__(self, argv=None): self.args = argv def prt(self): try: rec = self.args[1] except IndexError: rec = 'help' if rec == 'start': print('do start action') elif rec == 'stop': print('do stop action') elif rec == 'help': print('print help info') else: print('Unknown command:', rec) def utildef(args=None): util = UtilClass(args) util.prt() def utils(): utildef(sys.argv) if __name__ == '__main__': utils() 实现后的效果为: D:\pyreadspace\justtest>python testtmp.py start do start action D:\pyreadspace\justtest>python testtmp.py stop do...
python模拟网站登录并获取数据
该脚本通过仿冒cookie的方式实现访问需要登录的网站页面。 import sys import io from urllib import request sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8') #改变标准输出的默认编码 #登录后才能访问的网站 url = 'http://10.51.6.66:9060/console/' #浏览器登录后得到的cookie,也就是刚才复制的字符串 cookie_str = r'DWRSESSIONID=cDfDbucPGpFmTk2t0QCf842p5Pn; console-d-4c75-a=E25BEFC43F7EE539F65EC674844A6821' #登录后才能访问的网页 url = 'http://10.51.6.66:9060/console/rest/api/jvm_memory_detail?attrName=HeapMemoryUsage' req = request.Request(url) #设置cookie req.add_header('cookie', cookie_str) #设置请求头 req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36') resp = request.urlopen(req) print(resp.read().decode('utf-8'))