`

at定时任务的一些tips

阅读更多
linux下面有一个at命令用于执行一次性的定时任务,使用方法很简单。
类似下面这些命令:
#at 2012-12-12
at> ifconfig
at> <EOT>
job 16 at 2012-12-12 13:24
之前有一些工作就是利用at去完成了,但是最近遇到一个问题,需要对之前利用at去执行的命令做一些搜索统计操作,包括at命令执行时间,执行内容等等。
man at 命令可以得知:
1、atq命令(或者at -l)  可以查看目前系统中的队列列表。
#atq
16      2012-12-12 13:24 a root
13      2013-01-02 00:00 a root
12      2013-01-01 00:00 a root
14      2013-01-01 00:01 a root
15      2013-01-01 00:10 a root
2、at -c {jobnumber}   查看具体执行的命令内容。
at -c 16
3、at的所有命令文件都存放在 /var/spoll/at下面
文件名类似
a0000c01591860
文件内容其实就是 at -c 显示出来的内容

最重要的还是at任务和at文件的关系,at命令文件的文件名代表什么含义?
经过一番研究猜测,终于搞定
文件名的格式如下:
第一位表示 at队列号,也就是atq显示出来第四列的内容。linux的at说明上显示只能用a-z,经过测试其实+ ,(等特殊符号也是可以的,修改文件名就行
第二-第五位 表示at的任务号,也就是atq显示出来的第一列内容,16进制。
第六-最后   表示at命令的执行时间,精确到分钟数,16进制,这个数字其实就是相对于linux初始时间1970-1-1 12:00的分钟数。
比如01591860
python转换下:
import datetime
m=datetime.datetime(1970,1,1,12,0)+datetime.timedelta(days=int(0x01591860)/(60*24))
>>> m
datetime.datetime(2012, 12, 31, 12, 0)
至此一开始我的任务就很好搞定了,只要对at文件进行一些内容查找,然后分析文件名,就能得到所要的信息。
其实也可以直接用shell来比如:
atq|awk '{print $1}'|xargs at -c|grep  要查找的命令
不过那样文件比较多的时候就会比较慢,而且会有一些错误,比如
Cannot open a0003c0153a24f: Too many open files

同时还有几个附加结论:
1、linux支持的最大at任务数应该是 五位16进制
2、可以通过修改at文件名来设定一些已经过去的计划任务
3、at定时任务的最大时间应该是a00001FFFFFFFF,显示为10136-02-16 12:15
4、一个bug,/var/spoll/at下面有a00001FFFFFFFF名的文件时,at命令便不能再生成了,很有意思。
5、要从一台机器上面copy at任务到另外一台机器上面,只要复制at文件就行了,不过前提是环境变量相同。
分享到:
评论

相关推荐

    abap tips abap tips

    abap tips abap tips abap tips abap tips abap tips

    精品软件工具--Tips是一款办公工具软件,用来对日常工作事务进行管理。能够根据任务的类别,重要紧急程度和时间紧迫性计.zip

    【标题】中的“精品软件工具--Tips”是一款专为办公环境设计的任务管理软件,它旨在帮助用户有效地组织和管理日常的工作事务。通过该软件,用户可以对各项任务进行分类,以便于区分不同的工作内容和责任领域。此外,...

    一些爆路径tips.php

    一些爆路径tips .php

    Tips基于jQuery的提示框插件可自动消失可手动消失

    本文将详细讲解如何使用基于jQuery的Tips插件,该插件允许提示框自动消失或由用户手动消失,从而为用户提供更加友好的交互体验。 首先,我们来了解jQuery Tips插件的基本概念。Tips插件主要用于在网页上显示临时...

    wxPython Grid Tips and Tricks

    wxPython Grid Tips and Tricks

    KTH-TIPS 纹理材质数据.zip

    这些样本通常以高分辨率的图像形式提供,便于在各种任务中使用,如特征提取、模式识别、深度学习模型的训练等。每张图片都有详细的元数据,包括拍摄条件、材质类型、纹理类别等信息,这为研究提供了宝贵的上下文。 ...

    Swift 开发者必备 Tips

    作为Swift开发者,掌握一些实用的Tips能够显著提高开发效率和代码质量。"Onevcat Swifter - Swift 开发者必备 Tips"正是这样一份资源,它可能包含了关于Swift编程的诸多技巧和最佳实践。 1. **类型推断与强制解包**...

    kth-tips灰度纹理数据集

    KTH-TIPS(KTH-Texas Institute of Photography and Shape)是一个广泛使用的图像数据库,特别是针对纹理分析和图像分类任务。这个数据集包含了大量的灰度纹理图像,是计算机视觉研究领域的一个重要资源。它的设计...

    JS实现简单实用的自动动态tips提示信息框(小的气泡框)效果

    在网页开发中,提示信息框(Tips)是一种常见的交互元素,用于向用户显示临时或辅助性的信息。在JavaScript中,我们可以轻松实现这种自动动态的tips提示信息框效果,以提高用户体验。下面将详细介绍如何利用...

    jquery.tips.js

    * $(selector).tips({ //selector 为jquery选择器 * msg:'your messages!', //你的提示消息 必填 * side:1, //提示窗显示位置 1,2,3,4 分别代表 上右下左 默认为1(上) 可选 * color:'#FFF', //提示文字色 默认...

    定时提醒小闹钟

    【定时提醒小闹钟】是一款实用的定时提醒软件,它具备简单易用的特性,能够帮助用户在日常生活和工作中设置个性化的提醒,确保不会错过任何重要事件。这款小工具不仅适用于个人时间管理,也适用于团队协作中的任务...

    Swift tips Swift 开发者必备的tips

    以下是根据标题和描述提炼出的一些关键知识点: 1. **类型推断与类型安全**:Swift 4.0进一步强化了类型推断,使得代码更简洁。同时,其严格的数据类型系统确保了代码的类型安全性,避免了隐式转换导致的潜在错误。...

    tips

    一个非常好的tips

    弹出提示框 tips

    然后在该类中,我们需要覆盖一些关键函数来实现弹出提示框的行为。这可能包括以下几个步骤: 1. **重写OnMouseMove**:当鼠标在窗口内移动时,系统会发送WM_MOUSEMOVE消息。在OnMouseMove处理函数中,我们可以检查...

    jquery tips提示插件自适应屏幕宽度提示图片信息

    jQuery Tips提示插件是这个库的一个扩展,它增强了网页的用户体验,通过提供自适应屏幕宽度的提示信息,使用户能够更方便地理解和操作页面内容。 一、jQuery Tips提示插件介绍 jQuery Tips插件主要用于在网页上显示...

    关于英文邮件一些tips.doc

    以下是一些提高英文邮件写作效率和专业性的实用技巧。 1. **邮件开头**: - **感谢语句**:以感谢作为开场白是一种礼貌且友好的方式。例如: - "Thank you for contacting us." 这句话适用于回应客户的咨询。 - ...

    一个显示Tips对话框的例子

    在编程领域,特别是GUI(图形用户界面)设计中,"Tips对话框"是一种常见的功能,它用于向用户提供简短的提示信息。这个例子是关于如何在应用程序中实现Tips对话框的教程,主要针对控件使用的类。让我们深入探讨一下...

    Echarts地图tips轮播.rar

    5. **自定义行为**:根据需求,可能还需要添加一些自定义行为,比如设置初始Tips、添加过渡动画等。 6. **更新数据**:如果数据源发生变化,可以使用ECharts的`setOption`方法更新配置项,实现动态数据更新。 在...

Global site tag (gtag.js) - Google Analytics