linux 定时程序 linux定时任务查看

其实linux 定时程序的问题并不复杂,但是又很多的朋友都不太了解linux定时任务查看,因此呢,今天小编就来为大家分享linux 定时程序的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

如何用Python写一个每分每时每天的定时程序

定时任务

在Python里面,比如你想定期去爬一个网页,或者做运维的同学想每天12点去定时download一个文件,或者定时去扫描一些服务器,甚至老板的需求不停的变可能是,每隔5分钟,或者每小时的整点10分,每周每月都有一些定时任务

用Python怎么破很简单,下面这个程序轻松搞定

我们先从一个最简单的例子说,假设我们是每分种的第10秒,去执行一个任务去打印一下当前的目录

1).window下是dir命令,linux是ls

我们用platform这个模块来判断一下操作系统

import platform

os_platfrom=platform.platform()

if os_platfrom.startswith('Darwin'):

print'this is mac os system'

os.system('ls')

elif os_platfrom.startswith('Window'):

print'this is win system'

os.system('dir')

2).如何定时执行

a.我们先获取当前的时间

now=datetime.datetime.now()

假设当前时间是2017-02-09 20:19:47.555000

b.然后我们输入一个你要定时执行的target时间

比如你是x分10秒的时候执行sched_Timer=datetime.datetime(x,x,x,x,x,10)

前面的x是并不重要(只要最后是10秒就行了),我们就把目标时间设的比当前晚一点即可:

sched_Timer=datetime.datetime(2017,2,9,20,20,10)

c.好当时间到了20:20:10的时候要运行我们的程序

如何定时到了呢,很简单用

if now==sched_Timer:

'run Task'

d.那么如何让时间在下一分钟10秒继续执行呢,也很简单用timedelta()

datetime.timedelta(minutes=1)把target时间往后增加一分钟

sched_Timer=sched_Timer+datetime.timedelta(minutes=1)

然后外边用个while死循环hold住就可以了

linux定时运行命令

linux定时运行命令

1.命令简介

每个用户都有各自不同的计划任务列表,用各自的帐户登录后运行

复制代码

  

代码如下:

crontab-l

就可查看到各任务的计划任务情况,使用下列命令可以修改自己的计划任务

复制代码

  

代码如下:

crontab-e

每次添加完任务后,一定记得重新启动crond服务,不然不会生效

复制代码

  

代码如下:

service crond restart

2.实例

下面为一计划任务的样例

复制代码

  

代码如下:

#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点

  0 11 4* mon-wed date

上面这句的意思是“每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点显示时间”,你把date改成你想执行的命令,再把执行的时间改了,就可以形成一个定时执行命令了

复制代码

  

代码如下:

#每分钟执行一次

  */1**** date

  #在/root/run_sh/下面写一个shell脚本,命名为run.sh,内容如下

  #!/bin/sh

  echo hello/root/Hello.txt

然后运行crontab-e命令,写入

复制代码

  

代码如下:

*/1****/root/run_sh/run.sh(一定要绝对路径)

保存退出后执行service crond restart,过一分钟后你就会在/root下看到Hello.txt文件。

复制代码

  

代码如下:

#定时运行java程序,写一命名为run.sh的shell脚本,内容如下

  #!/bin/sh

  cd/root/javaExe/

  java TestCron/Test

  后运行crontab-e写入

  */1****/root/run_sh/run.sh(一定要绝对路径)

后重启crond服务。

3.空格之间的参数意义如下

分钟  小时  天  月  星期  要执行的命令

  前面五个参数中间用空格隔开,最后是要执行的命令。

详细的请参考下面

Crontab是一个很方便的在unix/linux系统上定时(循环)执行某个任务的程序

  使用cron服务,用 service crond status查看 cron服务状态,如果没有启动则 service crond start启动它,

  cron服务是一个定时执行的服务,可以通过crontab命令添加或者编辑需要定时执行的任务:

  crontab-u//设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数

  crontab-l//列出某个用户cron服务的详细内容

  crontab-r//删除没个用户的cron服务

  crontab-e//编辑某个用户的cron服务

  比如说root查看自己的cron设置:crontab-u root-l

  再例如,root想删除fred的cron设置:crontab-u fred-r

  在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab-u root-e

  进入vi编辑模式,编辑的内容一定要符合下面的格式:*/1**** ls/tmp/ls.txt

  编辑/etc/crontab文件,在末尾加上一行: 30 5*** root init 6这样就将系统配置为了每天早上5点30自动重新启动。

  需要将crond设置为系统启动后自动启动的服务,可以在/etc/rc.d/rc.local中,在末尾加上

复制代码

  

代码如下:

service crond start

如果还需要在系统启动十加载其他服务,可以继续加上其他服务的启动命令。

  比如:

复制代码

  

代码如下:

service mysqld start

基本用法:

1. crontab-l

  列出当前的crontab任务

2. crontab-d

  删除当前的crontab任务

3. crontab-e(solaris5.8上面是 crontab-r)

  编辑一个crontab任务,ctrl_D结束

4. crontab filename

  以filename做为crontab的任务列表文件并载入

  crontab file的格式:

  crontab文件中的行由 6个字段组成,不同字段间用空格或 tab键分隔。前 5个字段指定命令要运行的时间

  分钟(0-59)

  小时(0-23)

  日期(1-31)

  月份(1-12)

  星期几(0-6,其中 0代表星期日)

  第 6个字段是一个要在适当时间执行的字符串

  例子:

复制代码

  

代码如下:

#MIN HOUR DAY MONTH DAYOFWEEK COMMAND

  #每天早上6点10分

  10 6*** date

  #每两个小时

  0*/2*** date(solaris 5.8似乎不支持此种写法)

  #晚上11点到早上8点之间每两个小时,早上8点

  0 23-7/2,8*** date

  #每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点

  0 11 4* mon-wed date

  #1月份日早上4点

  0 4 1 jan* date

补充:在使用crontab的时候,要特别注意的是运行脚本中能够访问到的环境变量和当前测试环境中的环境变量未必一致,一个比较保险的做法是在运行的脚本程序中自行设置环境变量(export)

  (1)先建一个文件crond.txt如下,每天早上5点36分重新启动

  36 5*** reboot

(2)上传到/opt目录

(3)运行命令

  crontab/opt/crond.txt

  crontab-l

  让配置文件生效:如果让配置文件生效,还得重新启动cron,切记,既然每个用户下的cron配置文件修改后。也要重新启动cron服务器。

  在Fedora和Redhat中,我们应该用;

  [root@localhost~]#/etc/init.d/crond restart

  如果让crond在开机时运行,应该改变其运行级别;

  [root@localhost~]# chkconfig--levels 35 crond on

  service crond status查看 cron服务状态,如果没有启动则 service crond start启动它, cron服务是一个定时执行的服务,可以通过crontab命令添加或者编辑需要定时执行的任务

下面是一个例子文件:

复制代码

  

代码如下:

#MIN HOUR DAY MONTH DAYOFWEEK COMMAND

  #每天早上6点

  106*** date

  #每两个小时

  0*/2*** date

  #晚上11点到早上8点之间每两个小时,早上部点

  0 23-7/2,8*** date

  #每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点

  0 11 4* mon-wed date

  #1月份日早上4点

  0 4 1 jan* date

  范例

  lark:~crontab-1列出用户目前的crontab.

  #MIN HOUR DAY MONTH DAYOFWEEK COMMAND

  10 6*** date

  0*/2*** date

  0 23-7/2,8*** date

  lark:~

基本格式:

  *****command

  分 时 日 月 周 命令

第1列表示分钟1~59每分钟用*或者*/1表示

  第2列表示小时1~23(0表示0点)

  第3列表示日期1~31

  第4列表示月份1~12

  第5列标识号星期0~6(0表示星期天)

  第6列要运行的命令

crontab文件的一些例子:

复制代码

  

代码如下:

30 21***/usr/local/etc/rc.d/lighttpd restart

  上面的例子表示每晚的21:30重启lighttpd。/pp45 4 1,10,22**/usr/local/etc/rc.d/lighttpd restart

  上面的例子表示每月1、10、22日的4: 45重启lighttpd。/pp10 1** 6,0/usr/local/etc/rc.d/lighttpd restart

  上面的例子表示每周六、周日的1: 10重启lighttpd。/pp0,30 18-23***/usr/local/etc/rc.d/lighttpd restart

  上面的例子表示在每天18: 00至23: 00之间每隔30分钟重启lighttpd。/pp0 23** 6/usr/local/etc/rc.d/lighttpd restart

  上面的例子表示每星期六的11: 00 pm重启lighttpd。/pp**/1***/usr/local/etc/rc.d/lighttpd restart

  每一小时重启lighttpd/pp* 23-7/1***/usr/local/etc/rc.d/lighttpd restart

  晚上11点到早上7点之间,每隔一小时重启lighttpd/pp0 11 4* mon-wed/usr/local/etc/rc.d/lighttpd restart

  每月的4号与每周一到周三的11点重启lighttpd/pp0 4 1 jan*/usr/local/etc/rc.d/lighttpd restart

  一月一号的4点重启lighttpd

linux的定时重启的具体命令 非常感谢。。。

LINUX服务器定时重启的具体命令如下:

crontab-e

0 1***/sbin/reboot( 0 1***表示每天凌晨一点重启.)

0 1** 1/sbin/reboot(0 1** 1表示每周一凌晨一点重启

30 2***/home/bin/oraclebackup.sh(备份数据库和站点目录)

30 3***/home/bin/cmsbackup.sh(备份数据库和站点目录)

[root@localhost~]#/etc/init.d/crond restart

[root@localhost~]# chkconfig--levels 35 crond on(重启crond服务)

扩展资料:

在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:

minute hour day month week command

其中:

1.minute:表示分钟,可以是从0到59之间的任何整数。

2.hour:表示小时,可以是从0到23之间的任何整数。

3.day:表示日期,可以是从1到31之间的任何整数。

4.month:表示月份,可以是从1到12之间的任何整数。

5.week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。

6.command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

阅读剩余
THE END