问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

linux的cron不能自动执行的原因是什么

发布网友 发布时间:2022-04-23 03:36

我来回答

3个回答

热心网友 时间:2022-05-02 08:32

你直接把 /etc/crontab SHELL改成:
SHELL=/bin/bash

1、添加用户任务可以通过crontab -e 进行编辑
2、0 22 * * * sh -l -c 'backup perform -t my_backup'

下边是我以前收集整理的 发给你:

1、创建调度文件
2、安装 crontab 文件名 被安装到/var/spool/cron
3、crontab -l 查看

 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 命令添加或者编辑需要定时执行的任务

Crontab文件的每一行由六个域(minutes、hours、day of month、month、day of week、 command)组 成,域之间用空格或Tab分开,其中:

minutes: 分钟域,值的范围是0到59

hours: 小时域,值的范围是0到23

day of month: 日期,值的范围是1到31

month: 月份,值的范围是1到12

day of week: 星期,值的范围是0到6,星期日值为0

command: 所要运行的命令

如果一个域是*,表明命令可以在该域所有可能的取值范围内执行。

如果一个域是由连字符隔开的两个数字,表明命令可以在两个数字之间的范围内执行(包括两个数字 本身)。

如果一个域是由逗号隔开的一系列值组成的,表明命令可以在这些值组成的范围内执行。

如果日期域和星期域都有值,则这两个域都有效。

编写一个文件,用以启动自动备份进程。

cd /opt

touch reboot.txt

在reboot.txt中添加一下内容:

0 4 * * * reboot

crontab /opt/reboot.txt

用crontab -e编辑定时操作,例如加入下行命令:

用crontab -l命令来查看

注意:需要启动服务(添加在rc.local中)

重启crond任务

/etc/init.d/cron restart (ubuntu下)

第一种 在Fedora或Redhat 等以RPM包管理的系统中;

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

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

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

/etc/rc.d/init.d/crond restart

命令简介

crontab-操作每个用户的守护程序和该执行的时间表。

部分参数说明

crontab file [-u user]-用指定的文件替代目前的crontab。

crontab-[-u user]-用标准输入替代目前的crontab.

crontab-1[user]-列出用户目前的crontab.

crontab-e[user]-编辑用户目前的crontab.

crontab-d[user]-删除用户目前的crontab.

crontab-c dir- 指定crontab的目录。

crontab文件的格式:M H D m d cmd.

M: 分钟(0-59)。

H:小时(0-23)。

D:天(1-31)。

m: 月(1-12)。

d: 一星期内的天(0~6,0为星期天)。

cmd要运行的程序,程序被送入sh执行,这个shell只有USER,HOME,SHELL这三个环境变量。

下面是一个例子文件:

#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

热心网友 时间:2022-05-02 09:50

把执行脚本的结果重定向到日志文件, 通过看日志找原因 一般是环境变量 不正确导致无法正确执行

热心网友 时间:2022-05-02 11:25

先找日志,看到问题才能解决问题 参考crontab开启日志记录

也有可能是时区不对,未按预期执行 参考 crontab不自动执行的解决方法

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 名师1+1导读方案:汤姆·索亚历险记目录 三星sm-g7200打开微信慢,无法正常收看,网速不慢。 笔记本电脑如何调亮屏幕亮度 大伙说说洗衣机要不要带烘干好 热烘干洗衣机怎么样 ef英语哪个好 PU皮衣怎么洗?PU皮衣怎么保养? linux下的crontab配置后怎么不能执行 pu皮的衣服能水洗吗? linux 普通用户crontab周末不运行 水洗PU皮衣如何清洗和保养 linux crontab 怎么不执行 仿皮可用洗衣机脱水吗 linux crontab 不执行 皮裤能水洗吗,是假皮的。。。 LINUX的crontab不自动执行任务 pu皮的衣服怎么保养和清洗? pu皮的衣服怎么清洗 怎么清洗pu皮棉衣可以用洗衣机吗 pu皮衣可以水洗,甩干吗 做法,农家清焖鱼怎么做好吃,农家清焖鱼的家常做法 怎样在word中制作表格?? 酱焖鱼的家常做法 萝卜焖鱼怎么做好吃,萝卜焖鱼的家常做法 家常焖鱼的做法 家常焖鱼做法 pu皮的衣服怎么保养啊,可以用水洗吗 linux crontab不执行 PU皮的衣服怎么清洗? linux 自动任务crontab不执行 pu皮裙和羊皮裙能手洗吗?~怎麼洗~或是洗衣店可以洗? LINUX Shell在crontab中不执行的问题 pu皮是什么皮,那么pu皮怎么清洗 linux 系统写的 perl程序,单独可以执行,但放入crontab里后就不执行了 关于linux系统shell中有nohup命令,放入到crontab无法执行 是一件PU皮衣能水洗吗 linux crontab无法执行exp PU皮该怎么清洁? PU皮能水洗吗? 简单的 Linux Shell crontab 不执行的问题,请教! pu皮脏了怎么清洗 linux中,crontab 不能自动执行.sh文件 如何评价颜真卿 linux系统编辑etc/crontab,任务无法执行 星罗地图和地图者做分布图哪个更好? 如何评价颜真卿的书法成就?