crontab linux定时运行程序

第一种是脚本执行了,但是报错:在crontab里调度运行,结果发现没有结果,查看/var/log/message 日志,发现crontab有执行,但是失败。 
手动运行都是可以的,放在crontab里边发现就不能运行了。 
处理方法:脚本中不要采用相对路径,全部改为绝对路径

第二种是编辑/var/spool/cron/user user为执行用户名,一般为root 
如更改后不起效果,请重新加载cron: 
处理方法: /etc/init.d/cron reload

第三种 用sudo crontab -e  进行编辑 
use the following command add entries to crontab should take effect right away. 
#crontab -e

如还不行就从其服务: 
处理方法:/etc/init.d/crond restart

crontab 的格式: 
第1列分钟1~59 
第2列小时1~23(0表示子夜) 
第3列日1~31 
第4列月1~12 
第5列星期0~6(0表示星期天) 
第6列要运行的命令

分 时 日 月 星期 要运行的命令 
*/5 * * * * bash /opt/tools/**.sh > /tmp/***.log 2>&1

这里有crontab文件条目的一些例子:

30 21 * * * /usr/local/apache/bin/apachectl restart 
上面的例子表示每晚的21:30重启apache。

45 4 1,10,22 * * /usr/local/apache/bin/apachectl restart 
上面的例子表示每月1、10、22日的4 : 45重启apache。

10 1 * * 6,0 /usr/local/apache/bin/apachectl restart 
上面的例子表示每周六、周日的1 : 10重启apache。

0,30 18-23 * * * /usr/local/apache/bin/apachectl restart 
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。

0 23 * * 6 /usr/local/apache/bin/apachectl restart 
上面的例子表示每星期六的11 : 00 pm重启apache。

* */1 * * * /usr/local/apache/bin/apachectl restart 
每一小时重启apache

* 23-7/1 * * * /usr/local/apache/bin/apachectl restart 
晚上11点到早上7点之间,每隔一小时重启apache

0 11 4 * mon-wed /usr/local/apache/bin/apachectl restart 
每月的4号与每周一到周三的11点重启apache

0 4 1 jan * /usr/local/apache/bin/apachectl restart 
一月一号的4点重启apache

时间: 2024-08-08 22:13:02

crontab linux定时运行程序的相关文章

linux定时运行命令脚本——crontab

Linux中,周期执行的任务一般由cron这个守护进程来处理  ps -ef | grep cron cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间. cron的配置文件称为“crontab”,是“cron table”的简写. 一. cron在3个地方查找配置文件(设置shell脚本): 1./var/spool/cron/yanggang 这个目录下存放的是每个用户(包括root)的crontab任务,每个任务以创建者的名字命名,比如用户tom建的crontab任务对

Mac/Linux 定时运行命令行

想要开机运行的话可以通过 mac 自带的 Automator 将要运行的命令打包成一个app,用后在用户组的“登录时启动”列表里加上那个app. 但是想要定时运行就不能这么做了,要用上一个叫crontab的命令(或者软件?) 实用的指令只有3个,很简短 编辑定时任务列表 crontab -e 显示所有定时任务列表 crontab -l 删除所有定时任务列表 crontab -r 而且你可以通过 crontab [file] 来将放在任何位置的配置文件给crontab来用.只要你的文件是合法的文本

linux后台运行程序(secureCRT断掉或关闭后继续运行程序)

secureCRT断掉后想继续运行程序.也就是程序会在后台一直执行到结束. secureCRT通过ssh联接到client端运行程序,如果关掉窗口或者断开连接时,任务会被kill. 为了程序能够后台执行到结束: 1.可以用&: 比如 python test.py 改成 python test.py & 来调用执行. 2.另外,还有一种方式:通过ctrl+z.bg等一系列的命令,将已经在前台运行的作业放到后台执行: 如果一个作业已经在前台执行,可以通过ctrl+z将该作业放到后台并挂起.然后

screen & tmux 技巧:linux后台运行程序

通俗简介: screen 简单应用: screen myprogram // 通过screen启动一个程序, 或者screen -L myprogram: turns on logging to ~/screenlog.0 ctr+a 然后再按一下 d // 使程序在后台运行,即detach screen -ls // 列出在screen后台运行的程序,以及ID(例如4491.pts-2.localhost) screen -r ID // 恢复运行程序到terminal,例如:screen -

linux 后台运行程序

有些时候,我们需要在终端启动一个程序,并使之运行--但是如果关闭终端,那么这个程序也就随着关闭了.那么有没有什么方法在关闭终端后,让已经从这个终端启动的程序继续运行呢? 前置知识: xterm,console,tty,pts,pty的区别 shell是直接和内核进行通信的东西 xterm是一个软件概念,可以通过这个程序连接到console从而控制主机,可以理解为cli形式的终端模拟器,而gnome-terminal,konsole就是gui形式的终端模拟器 console是主机的控制台,是一个物

linux后台运行程序

1.我们的程序只是普通程序而已,一般这种程序即使使用& 结尾,如果终端关闭,那么程序也会被关闭.为了能够后台运行,我们需要使用nohup这个命令,比如我们有个start.sh需要在后台运行,并且希望在 后台能够一直运行,那么就使用nohup:              nohup /root/start.sh & 2.jobs bg 未完待续

定时运行程序

Runnable runnable = new Runnable() { public void run() { task to run goes here try { body();//需要运行的函数名 } catch (IOException e) { e.printStackTrace(); } catch (InterruptedException e) { //e.printStackTrace(); } } };//设定一个线程 ScheduledExecutorService se

如何在LINUX中开机、登陆、退出、定时、定期自动运行程序

1.开机启动时自动运行程序 Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init.init根据配置文件继续引导过程,启动其它进程.通常情况下,修改放置在 /etc/rc或 /etc/rc.d 或 /etc/rc?.d 目录下的脚本文件,可以使init自动启动其它程序.例如:编辑 /etc/rc.d/rc.local 文件,在文件最末加上一行“xinit”或“startx”,可以在开机启动后直接进入X-Window. 2.登录时自动运行程序 用户登录时,bash首先自动执行系

Linux(centos 6.5) 调用java脚本以及定时运行的脚本实例及配置文件具体解释

Linux(centos 6.5) 调用java脚本以及定时运行的脚本实例 一.调用java程序脚本(默认已经搭建好了Java环境) 1.jdk 安装路径 /usr/jdk/jdk1.7/-- 2.java 程序路径 /usr/jdk 3.类名:Test.java(有主函数的类名) 4.调用java类的脚本,注意脚本的后缀是.sh 5.脚本内容: (1)#! /bin/bash // #! 特殊符号.说明这个脚本是由/bin 文件夹下的bash这个shell来解释并将解释后的内容给kernel来