关于linux上cron服务的python封装工具
关于cron:定时任务服务,一般linux自带且已启动.(pgrep cron查看cron服务是否启动了.)
关于plan:一个通过python来定制cron服务的工具.其官网:
http://plan.readthedocs.org/
plan的使用例子:
例子1:
from plan import Plan
cron = Plan()
output = dict(stdout='~/stdout.log', stderr='~/stderr.log')
cron.command('date',
every='1.minute',
output=output,
)
if __name__ == '__main__':
cron.run('update')
这样就加了一个定时计划任务.(可用命令crontab -l查看已添加的任务.)
例子2:
from plan import Plan
cron = Plan()
output = dict(stdout='~/stdout.log', stderr='~/stderr.log')
cron.command('echo ${PATH} && supervisord -v',
every='1.minute',
output=output,
)
if __name__ == '__main__':
cron.run('update')
查看日志,发现PATH变量只有/usr/bin:/bin.没有/usr/local/bin.而我的supervisord放在/usr/local/bin下面,所以提示/bin/sh: 1:找不到supervisord.
所以,如果要执行的任务包含了处于其他路径的命令,比如/usr/local/bin,需要这样:
例子3:
from plan import Plan
cron = Plan()
output = dict(stdout='~/stdout.log', stderr='~/stderr.log')
cron.command('PATH=${PATH}:/usr/local/bin && supervisord -v',
every='1.minute',
output=output,
)
if __name__ == '__main__':
cron.run('update')
上面都是用cron.command()来添加的,然后如果要添加执行的任务是python脚本,还可以这样:
例子4:
cron.script('trader_supvr_tool.py --supervisord=start-init',
every='1.minute',
path='~/work/xProject/etrader',
environment={'PATH' : '${PATH}:/usr/local/bin' },
output=output,
)
environment和path都是cron.script()支持的参数,而cron.command()忽略.
关于linux上cron服务的python封装工具的更多相关文章
- 了解一下 Linux 上用于的 SSH 图形界面工具
如果你碰巧喜欢好的图形界面工具,你肯定很乐于了解一些 Linux 上优秀的 SSH 图形界面工具.让我们来看看这三个工具,看看它们中的一个(或多个)是否完全符合你的需求. 在你担任 Linux 管理员 ...
- sar 找出系统瓶颈的利器 目前Linux上最为全面的系统性能分析工具之一 直接 sar -dur 1 30 即可看内存 CPU和IO占用
12. sar 找出系统瓶颈的利器 sar是System Activity Reporter(系统活动情况报告)的缩写.sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行 ...
- linux的cron服务及应用
Linux下的Cron用于定时执行设置的周期性指令,是Linux的内置服务,可以用以下的方法启动.关闭这个服务: /sbin/service crond start //启动服务 /sbin/serv ...
- 常见的linux上的服务重启脚本
手写linux上的重启脚本,先把提纲列下 1.检查进程是否存在 存在杀死 2.备份原来的包到指定目录 3. 拉取新包,我这边为了简便,没有从jenkins slave上拿 4.启动命令 5.检查是否进 ...
- 在Linux上怎么安装和配置DenyHosts工具
使用DenyHosts能够进行自动屏ip的功能,掌握DenyHosts在Linux系统中的安装是很有必要的,那么在Linux系统中要如何安装DenyHosts工具呢?安装后又要如何配置呢?这都是用户需 ...
- 利用python监测linux上的服务(简单实现服务宕掉自动发送邮件)
python 这里用到了四个python 模块 : import time (时间模块) import re (正则模块) import socket (监测端口模块)import yagmail ( ...
- 在Linux上以服务的方式运行ASP.NET Core站点
更新:用supervisor是更好的解决方法,详见 Linux下为 dotnet 创建守护进程 要在生成环境下在Linux服务器上跑ASP.NET Core站点,首先要解决的问题是以服务的方式运行AS ...
- Linux的cron服务
可以用以下命令启动和停止服务: /sbin/service crond start /sbin/service crond stop /sbin/service crond restart /sbin ...
- linux上源码安装python
Linux安装Python2.7 以下例子基于python 2.7.9,其他版本同理.# 1.下载python# wget https://www.python.org/ftp/python/2.7. ...
随机推荐
- java实现读取ftp服务器上的csv文件
定义ftp操作接口 import java.io.InputStream; import java.util.List; import org.apache.commons.net.ftp.FTPCl ...
- 阿里云k8s服务springboot项目应用升级时出现502错误
背景 随着小步快跑.快速迭代的开发模式被越来越多的互联网企业认同和采用,应用的变更.升级频率变得越来越频繁.为了应对不同的升级需求,保证升级过程平稳顺利地进行,诞生了一系列的部署发布模式. 停机发布 ...
- permission denied (publickey)问题的解决 和 向github添加ssh key
使用ssh key这种方式进行clone ,pull github上面的项目,使用 git clone或者git pull origin master出现permission denied (publ ...
- HDU 1258 Sum It Up (DFS)
Sum It Up Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total S ...
- MachineLearning之Logistic回归
一.概述 假设现在有一些数据点,我们用一条直线对这些点进行拟合(该线称为最佳拟合直线),这个拟合过程就称为回归: 利用Logistic回归进行分类的主要思想是: 根据现有数据对分类边界线建立回归公式, ...
- FFmpeg 滤镜及其效果
原文地址:https://blog.csdn.net/dangxw_/article/details/49001413 代码中使用滤镜参见上一篇博客:http://blog.csdn.net/dang ...
- SQL中获取排序分组后数据的脚本
废话不多说了,先上一段代码,如下所示: select distinct b.OrgID,b.CompanyID,b.AreaID,b.CustChannelID,b.CustID,b.SaleTo ...
- ASP.NET实现二维码 ASP.Net上传文件 SQL基础语法 C# 动态创建数据库三(MySQL) Net Core 实现谷歌翻译ApI 免费版 C#发布和调试WebService ajax调用WebService实现数据库操作 C# 实体类转json数据过滤掉字段为null的字段
ASP.NET实现二维码 using System;using System.Collections.Generic;using System.Drawing;using System.Linq;us ...
- Access2007 操作或事件已被禁用模式阻止解决办法
在“消息栏”上,单击“选项”. 在“Microsoft Office 安全选项”对话框中,单击“启用此内容”,然后单击“确定”. 如果没有看到消息栏在“数据库工具”选项卡上的“显示/隐藏”组中,单击“ ...
- 【转】Kotlin 和 Checked Exception
Kotlin 和 Checked Exception 最近 JetBrains 的 Kotlin 语言忽然成了热门话题.国内小编们传言说,Kotlin 取代了 Java,成为了 Android 的“钦 ...