今天对监控脚本做了一些变更,然后突然发现监控全部都失效了..排查了半天问题仍然不知所踪.最终发现居然是一个踩过好几次的老坑.. 就是脚本内写的配置文件为了调试方便写成了相对路径,但是在上线时没有意识到软件自动执行(比如Zabbix的externalcheck,虽然所有脚本都可以放在统一的目录下,给人一种这个目录就是zabbix执行外部检查时的工作目录的错觉,但是实际上并不是..)时自动执行的工作目录并不一定是当前目录.介于这个坑已经踩过多次,下面给出实例和解决办法: import ConfigP…
REFERENCE:<Head First Python> ID:我的第二篇[Python学习] BIRTHDAY:2019.7.13 EXPERIENCE_SHARING:解决切换当前工作目录时出现的错误——FileNotFoundError 1.错误类型 FileNotFoundError: [WinError 3] 系统找不到指定的路径.: '../HeadFirstPython/chapter3' 在文件夹D:\0tempt,新建了文件夹 HeadFirstPython,其包含子文件夹…
安装依赖:pip install watchdog #!/usr/bin/env python3 # -*- coding: utf-8 -*- import logging import os import threading from configparser import ConfigParser, NoOptionError from watchdog.events import FileSystemEventHandler from watchdog.observers import…
Linux自动执行任务 耗奇害死猫关注 2018.01.04 10:19:45字数 74阅读 142 单次执行用at和batch,周期性任务执行用crontab.任务执行结束后会将结果返回给发起人,通过邮件完成的.邮件位于:/var/spool/mail/user_name 单次执行任务:at,batch at at [OPTION]...TIME TIME表示方法: HH:MM[YYYY-mm-dd] noon(中午十二点),midnight(晚上十二点),teatime(下午四点) tomo…
关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 如果你真想学习,请评论学过的每篇文章,记录学习的痕迹. 请把所有教程文章中所提及的代码,最少敲写三遍,达到熟悉的效果. 声明:本次教程主要适用于已经习得一门编程语言的程序员.想要学习第二门语言.有梦想,立志做全栈攻城狮的你 如果是小白,也可以学习本教程.不过可能有些困难.如有问题在文章下方进行讨论.或者添加QQ群538742639.群马上就满了,名额不多. 上节课主要讲解了以下内容: 为什么学习Pyth…
subprocess模块: - 可以通过python代码给操作系统终端发送命令, 并且可以返回结果. sub: 子    process: 进程 import subprocess while True: # 1.让用户输入终端命令 cmd_str = input('请输入终端命令:').strip() # Popen(cmd命令, shell=True, # stdout=subprocess.PIPE, stderr=subprocess.PIPE) # 调用Popen就会将用户的终端命令发…
我用 python 写了一些脚本,有一些是爬虫脚本,比如爬取知乎特定话题的热门问题,有一些是定期的统计分析脚本,输出统计结果到文档中.之前我都是手动执行这些脚本,现在我希望如何这些脚本能自动定时执行.那么,windows 10 操作系统如何定时自动执行 python 脚本? 我的设备是 windows 10操作系统,自带的"计划任务"可以满足我的需求,具体操作步骤,整理如下. 步骤1:打开 "计算机管理" 界面 点击电脑左下角的windows图标,或者键盘的wind…
前言 在用python做自动化测试时,我们写好代码,然后需要执行才能得到测试报告,这时我们可以通过 Jenkins 来进一步完成自动化工作. 借助Jenkins,我们可以结合 Git/SVN 自动拉取代码,可以设置定时构建,接着就可以定时触发执行脚本,得到并查看测试报告,最后还可以配置发送邮件等. 今天我们就来学习下,如何结合 Git/SVN 自动拉取代码,通过构建来自动执行python脚本输出测试报告. Jenkins创建Job 新建一个自由风格的项目 登录Jenkins后,选择新建任务,新建…
上一篇需要手工去到cmd下执行脚本,不符合自动化测试的终极目标.现我们集成到Jenkins上,通过Jenkins一键执行或定时任务执行. 参考: https://www.cnblogs.com/ceshi2016/p/8444468.html https://www.cnblogs.com/lcosima/p/7231581.html https://blog.csdn.net/yfx000/article/details/52023654 执行效果: Jenkins配置 1. 首先,需要添加一…
最近在用python做一个小工具,自动执行一些adb shell命令,使用subprocess.Popen来实现.   不过遇到个问题就是执行adb shell后就无法执行后面adb shell里的命令了,查询得知subprocess.Popen可以自定义stdin参数来源,比如可以使用上一个命令的stdout来做为下一个命令的stdin   p1 = subprocess.Popen('adb shell',  shell=True, stdout=subprocess.PIPE, stder…
一.自动执行Python脚本(前提条件是电脑已安装对应的Python程序) 1.1.win+R-输入cmd在输入where python查看Python的安装位置 C:\Users\ASUS\AppData\Local\Programs\Python\Python39\python.exe 1.2.win+X-点击:计算机管理-然后点击:任务计划程序  1.3.然后点击:创建基本任务-然后点击下一步 1.4.触发器就是设置任务计划程序在什么时候执行-设置完触发器-点击下一步进入启动程序步骤  1…
记得原来在一个公司时,具体很多原因,testlink上项目中的用例都需要执行形成漂亮的报告,但实际测试中又不需要去执行,所以就必须将用例根据上一次测试报告一个一个手工去贴结果刷用例,几百条用例,几天就浪费了,做完还什么都没获得.正好这二天没事,就用python写一个自动执行的小程序!~~~~~ 思路:从测试计划及测试报告中提取caseID,及测试结果,使用webdriver去执行用例,使用yaml配置文件,将测试产品.测试计划.报告设成可配 需安装selenium.yaml组件 在TestLin…
Ubuntu系统下的多路径软件是操作系统自带的 DM Multipath工具.------------------------------------------------------------------------------------------------------------------DM-Multipath 组件介绍:dm_multipath :   内核模块 为路径和路径组群重新指定 I/O 并支持出错冗余.multipath-tools: 程序 配置并启用设备映射器多路…
CentOS系统下的多路径软件是操作系统自带的 DM Multipath(DMMP)工具.------------------------------------------------------------------------------------------------------------------DM-Multipath 组件介绍: dm-multipath: 内核模块 为路径和路径组群重新指定 I/O 并支持出错冗余. mpathconf: 程序 配置并启用设备映射器多路径…
xp默认安装路径及本地用户配置文件存放路径修改 修改注册表可能会造成您的系统崩溃或数据丢失,请先行备份操作系统,以备不测!!! 备份注册表步骤: 1.在“桌面”上按快捷键“Ctrl+R”,调出“运行”窗口.接着,在“打开”后的输入框中输入“RegEdit”.并按“确定”按钮.如下图   2.选择注册表“我的电脑” .如下图. 3.选择“文件” →“导出”→选择路径和文件名.同理,注册表备份还原:“文件”→“导入”(这个只是针对整个注册表). 一.XP默认软件安装路径修改: 找到[HKEY_LOC…
局域网内有一百多台电脑,全部都是linux操作系统,所有电脑配置相同,系统完全相同(包括用户名和密码),ip地址是自动分配的.现在有个任务是在这些电脑上执行某些命令,者说进行某些操作,比如安装某些软件,拷贝某些文件,批量关机等.如果一台一台得手工去操作,费时又费力,如果要进行多个操作就更麻烦啦. 或许你会想到网络同传, 网络同传是什么?就是在一台电脑上把电脑装好,配置好,然后利用某些软件,如“联想网络同传”把系统原样拷贝过去,在装系统时很有用,只要在一台电脑上装好,同传以后所有的电脑都装好操作系…
最近在客户现场,每日都需要巡检大量主机系统的备库信息.如果一台台执行,时间浪费的就太冤枉了. 参考同事之前写的一个python脚本,配合各主机上写好的shell检查脚本,实现一次操作得到所有巡检结果. 这里的Python脚本需要用到paramiko模块. 安装paramiko有两个先决条件,python和另外一个名为PyCrypto的模块. yum install python-crypto python-paramiko 或者 单独下载模块,python setup.py build &&…
Chef 是一个强大的工具,用于提供自动化和所需的状态配置. 使用我们的最新 cloud-api 版本,Chef 提供了与 Azure 的无缝集成,使得你能够通过单个命令设置和部署配置状态. 在本文中,我将向你展示如何设置你的 Chef 环境来设置 Azure 虚拟机,并引导你完成创建一个策略或“食谱”并将此指南部署到 Azure VM 的过程. 让我们开始吧! Chef 基础知识 在开始之前,建议你首先熟悉一下 Chef 的基本概念.此处有大量资料,建议你在尝试此演练之前快速阅读一下.不过,在…
一.划zone(以博科光纤交换机为例) ①查看光纤交换机端口状态 RAC_SW_01:admin> switchshow Index Port Address Media Speed State Proto ================================================== :::::::xx ::::c9:::xx ::::c9:::xx id N8 No_Light FC :::::::xx id N8 No_Light FC id N8 No_Light…
用C#实现C/S模式下软件自动在线升级 1 前言 长期以来,广大程序员为到底是使用Client/Server,还是使用Browser/Server结构争论不休,在这些争论当中,C/S结构的程序可维护性差,布置困难,升级不方便,维护成本高就是一个相当重要的因素.有很多企业用户就是因为这个原因而放弃使用C/S.然而当一个应用必须要使用C/S结构才能很好的实现其功能的时候,我们该如何解决客户端的部署与自动升级问题?部署很简单,只要点击安装程序即可,难的在于每当有新版本发布时,能够实现自动升级.现在好了…
最近在看<Python源码剖析>,对Python内部运行机制比以前了解的更深入了,感觉自己有机会也可以做个小型的动态脚本语言了,呵呵,当然是吹牛了.目的当然不是创造一个动态语言,目的只有一个:更好的使用Python.看到模块导入那块的时候,终于对模块导入机制比较了解了,以防忘记特记录下来. 模块的搜索路径 模块的搜索路径都放在了sys.path列表中,如果缺省的sys.path中没有含有自己的模块或包的路径,可以动态的加入(sys.path.apend)即可.下面是sys.path在Windo…
python的搜索路径其实是一个列表,它是指导入模块时,python会自动去找搜索这个列表当中的路径,如果路径中存在要导入的模块文件则导入成功,否则导入失败: >>> import sys >>> sys.path ['', 'C:\\Python33\\Lib\\idlelib', 'C:\\Windows\\system32\\python33.zip', 'C:\\Python33\\DLLs', 'C:\\Python33\\lib', 'C:\\Python3…
说明: 虚拟机中shell_test目录用来练习shell, 其中有个test.log文件用来存放日志 #!/usr/bin/bash      # shell文件开头, 用来指定该文件使用哪个解释器执行 通常#!成为shebang, 如果命令行中不指定解释器时才会生效, 否则以命令行中指定的解释器为准 1. echo $?    # 用来检查上次命令的执行状态, 如成功返回0, 不成功则非0 2. ping -c10 www.baidu.com &> /shell_test/test.lo…
Python中一般需要配置文件,配置文件一般以.cfg, .conf, .ini结尾.配置文件可以将数据库抽离到以 .ini(Windows)结尾的文件中,这样做的优点在于可在配置文件中添加多个数据库,方便切换(另外配置文件也可以添加诸如邮箱.url等信息). 1.配置文件中的符号: (1)[sections] : 表示一个Section,配置文件中可以有多个section (2)#              : 表示注释说明 (3)=或:      :用来分隔key和value,两侧的空格会被…
一个普通的java project,里面引用了config.properties配置文件,将项目打成Runnable jar,然后将config.properties放到打包后的jar路径下,执行该jar包,出错,原工程中properties文件读取代码如下: InputStream in = SystemConfig.class.getResourceAsStream("/config.properties"); FileInputStream in = new FileInputS…
一个普通的java project,里面引用了config.properties配置文件,将项目打成Runnable jar,然后将config.properties放到打包后的jar路径下,执行该jar包,出错,原工程中properties文件读取代码如下: InputStream in = SystemConfig.class.getResourceAsStream("/config.properties"); FileInputStream in = new FileInputS…
转自:http://blog.csdn.net/wwj_748/article/details/8195565 接触到一个很实用的技术,那就是软件自动更新.一般开发者是通过自行在应用平台添加更新版本的apk.这样做,如果是在一两个应用平台发布应用,那还说得过去,工作量还不是很大.但大家都知道,Android开发者是比较苦逼的.由于开源所致,出现了N多应用市场.如果想赚取更多的收入,那就要在各个应用市场进行更新.那就悲催咯. 比较出名的一些应用市场有如下: 那如何实现软件自动更新,下面是具体实例:…
在C#中实现软件自动升级 winform程序相对web程序而言,功能更强大,编程更方便,但软件更新却相当麻烦,要到客户端一台一台地升级,本文结合实际情况,通过软件实现自动升级,弥补了这一缺陷,有较好的参考价值. 由于程序在运行时不能用新的版本覆盖自己,因此,我们将登录窗口单独做成一个可执行文件,用户登录时,从网上检测是否有新的主程序,如果有,则从后台下载并覆盖老的版本,用户输入正确的用户名和密码后,通过参数将必要的信息(如用户名.密码等)传递给主程序,实现登录,我们还是以实际例子来说明. 创建一…
关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 如果你真想学习,请评论学过的每篇文章,记录学习的痕迹. 请把所有教程文章中所提及的代码,最少敲写三遍,达到熟悉的效果. 声明:本次教程主要适用于已经习得一门编程语言的程序员.想要学习第二门语言的你.有梦想的你,立志做全栈攻城狮. 如果是小白,也可以学习本教程.不过可能有些困难.如有问题在文章下方进行讨论.或者添加QQ群538742639.群马上就满了,名额不多. 目录: 为什么学习Python? Pyt…
用python做项目,如果项目大了,或者想更好的管理程序,总是要使用包.包解决了命名冲突的问题. 今天在使用python的相对路径导入的时候,遇到了不少的问题. 包导入情形: src/    __init__.py    main.py    components/        __init__.py        expander.py        language_id.py    utilities/        __init__.py        functions.py 如果要…