Distributions
› Ubuntu
› Fedora
› CentOS
中文资源站
› 网易开源镜像站
Hopetree
V2EX  ›  Linux

crontab 不执行问题,网上找了一个小时都没找到解决方法,醉了

  •  
  •   Hopetree ·
    Hopetree · Apr 21, 2018 · 12467 views
    This topic created in 3120 days ago, the information mentioned may be changed or developed.

    先说我的系统,是 Ubuntu 16.04

    然后我要运行一个定时任务,所以为了测量定时任务是否执行,先运行一个最基本的测试,但是发现根本没运行。

    我的做法:

    • 使用 crontab -e 进行编辑模式,然后写入代码如下:
    1 * * * * echo 111 >> /home/alex/Desktop/mycodes/k.txt
    
    • 查看定时任务 crontab -l 可以看到跟我编辑的一模一样的结果
    • 然后我重启 cron 服务,使用如下命令:
    service cron restart
    

    但是我发现这个定时任务并没有启动啊

    而且我还发现,网上都是说 crond,但是我把 cron 改成 crond 就报错,根本没有这个服务,请问我哪里没有作对?

    贴一下 /var/log/cron.log 的日志:

    Apr 21 17:04:01 VirtualBox crontab[6460]: (alex) BEGIN EDIT (alex)
    Apr 21 17:05:18 VirtualBox crontab[6460]: (alex) END EDIT (alex)
    Apr 21 17:05:23 VirtualBox crontab[6473]: (alex) LIST (alex)
    Apr 21 17:07:04 VirtualBox cron[6489]: (CRON) INFO (pidfile fd = 3)
    Apr 21 17:07:04 VirtualBox cron[6489]: (CRON) INFO (Skipping @reboot jobs -- not system startup)
    Apr 21 17:08:41 VirtualBox cron[6510]: (CRON) INFO (pidfile fd = 3)
    Apr 21 17:08:41 VirtualBox cron[6510]: (CRON) INFO (Skipping @reboot jobs -- not system startup)
    Apr 21 17:10:07 VirtualBox crontab[6526]: (alex) LIST (alex)
    Apr 21 17:10:44 VirtualBox crontab[6534]: (alex) BEGIN EDIT (alex)
    Apr 21 17:11:01 VirtualBox crontab[6534]: (alex) END EDIT (alex)
    
    
    42 replies  •  2018-04-23 15:45:23 +08:00
    tradzero
    tradzero
    Apr 21, 2018
    1
    ubuntu 16.04 确实是 cron 我也被坑了
    Hopetree
    Hopetree
    OP
    Apr 21, 2018
    2
    @tradzero 然而我看网上大部分都是在说 crond,而且我查 cron 和 crond 的关系居然还没查到,这些都不是关键,关键是,我这样设置定时任务为什么不执行?
    aheadlead
    aheadlead
    Apr 21, 2018
    3
    “ 1 * * * *” 的 1 是啥意思?
    20has
    20has
    Apr 21, 2018 via Android
    4
    我说下你的问题,
    1 日志不排版看的累
    2 定时任务最好放脚本
    3 造成原因或许是无权限写入或者该文件( k.txt )未先创建!
    wdd2007
    wdd2007
    Apr 21, 2018❤️1
    5
    你 * * * * * 测试一下。

    你用 1 * * * * 不得一个小时才能有结果。
    20has
    20has
    Apr 21, 2018 via Android
    6
    @aheadlead 每小时的第 1 分钟执行😂😂
    应该是*/1 把 每分钟执行一次
    zw
    zw
    Apr 21, 2018
    7
    Ubuntu 不是基于 Debian 的么?我看到在 Debian 里,都是把脚本放到 /etc/cron.hourly/目录下即可。。。
    abmin521
    abmin521
    Apr 21, 2018 via Android❤️1
    8
    echo 写绝对路径
    defunct9
    defunct9
    Apr 21, 2018 via iPhone❤️1
    9
    开 ssh,我也不上去看
    DANG
    DANG
    Apr 21, 2018
    10
    每个分钟数为 1 的时候执行
    blankme
    blankme
    Apr 21, 2018 via Android
    11
    5 楼正解
    flytiger3768
    flytiger3768
    Apr 21, 2018
    12
    crontab -e 不需要重启 crond。你这个设置的是每个小时的第 1 分钟开始执行,如 0 点 1 分、1 点 1 分、2 点 1 分。参考 @20has 的回答修改设置
    Cbdy
    Cbdy
    Apr 21, 2018 via Android
    13
    systemd timer 了解一下
    ThirdFlame
    ThirdFlame
    Apr 21, 2018
    14
    每小时第 1 分钟。 找了一个小时 ,回来一看 刚刚好执行啊
    yingfengi
    yingfengi
    Apr 21, 2018 via Android
    15
    目测服务并没有自启动,我遇到过这种坑。帮瓦工的乌班图就这样。
    yingfengi
    yingfengi
    Apr 21, 2018 via Android❤️1
    16
    Hopetree
    Hopetree
    OP
    Apr 21, 2018
    17
    @aheadlead 哈哈哈,我蠢了,我以为 1 就是表示每 1 分钟执行一次
    @wdd2007 原来问题都处在我设置的时间上面,这个是 1 小时,我一直以为是 1 分钟
    @20has 是我把时间搞错了,刚接触这个定时任务,一直理解错了时间
    @ThirdFlame 真的如你所说,一个小时之后我的任务执行了,好囧啊
    artandlol
    artandlol
    Apr 21, 2018 via iPhone
    18
    不要-e 直接改配置文件
    zhicheng
    zhicheng
    Apr 21, 2018 via iPhone
    19
    环境变量
    torbrowserbridge
    torbrowserbridge
    Apr 21, 2018 via Android
    20
    改完并不需要 restart crond
    chanssl
    chanssl
    Apr 21, 2018❤️2
    21
    推荐这个工具
    https://tool.lu/crontab/
    TheKiller
    TheKiller
    Apr 21, 2018 via iPhone
    22
    不执行九成是环境变量的问题
    Nick2VIPUser
    Nick2VIPUser
    Apr 21, 2018 via iPhone
    23
    同样的程序换一台机器试一下
    GlobalNPC
    GlobalNPC
    Apr 21, 2018 via iPhone
    24
    @yingfengi 我也是,然后查了一会没找到问题,一气换装了 centOS
    Hopetree
    Hopetree
    OP
    Apr 21, 2018
    25
    @chanssl 厉害了,工具很实用,我刚才写了一个以为是每天 3 点执行,然后用这个工具才发现是 3 点的每 1 分钟执行一次,然后改了过来,挺好的,可以帮助理解
    Hopetree
    Hopetree
    OP
    Apr 21, 2018
    26
    @torbrowserbridge 好的,感谢,刚开始用这个功能不熟悉,感谢各位支招
    Hopetree
    Hopetree
    OP
    Apr 21, 2018
    27
    我还发现了一个问题,就是运行用 sh 来运行 Python 代码然后设置成定时任务的时候,sh 中要把 python 的绝对地址放上去才行,比如下面这种:

    ```
    #!/usr/bin/bash
    cd /home/alex/Desktop/mycodes
    /usr/bin/python3 timer_test.py
    ```
    xratzh
    xratzh
    Apr 21, 2018
    28
    *和*/1 和 1 的不一样哈哈哈
    lhpshaohan4
    lhpshaohan4
    Apr 21, 2018 via iPhone
    29
    /etc/pam.d/crond
    #session required pam_loginuid.so #注释此行
    lance6716
    lance6716
    Apr 22, 2018 via Android
    31
    @Hopetree 孔乙己:shell 有四种登录方式
    q397064399
    q397064399
    Apr 22, 2018
    32
    :doge:
    q397064399
    q397064399
    Apr 22, 2018
    33

    关爱楼主
    yujieyu7
    yujieyu7
    Apr 22, 2018 via iPad
    34
    已经歪成搞笑贴了,楼主还是要细心点啊😄
    8bit
    8bit
    Apr 22, 2018 via Android
    35
    :doge
    :doge:
    ls2110609
    ls2110609
    Apr 22, 2018
    36
    ...多看书不好吗
    Hopetree
    Hopetree
    OP
    Apr 22, 2018
    37
    @lance6716
    @fantastM
    @q397064399
    @ls2110609
    好的,是我开始没有理解这个时间设置,现在时间问题我已经搞清楚了,然后另外一个问题有点疑问,就是如果用脚本执行文件的时候,比如用 shell(或者 Python 脚本)来写文件,这个文件的地址可以是相对路径,直接执行 shell (或者 Python )可以成功,但是如果把这个 shell ( Python 脚本)设定成定时任务就发现文件不会在指定地方生成(我不确定是不是生成到其他地方去了),所以,我只能把所有涉及到文件的地方都写成绝对路径,即使这个文件是在 Python 脚本中的页写成绝对路径,请问,我这种做法是唯一的解决方法吗?
    lance6716
    lance6716
    Apr 23, 2018 via Android
    38
    @Hopetree 你只需要导入$HOME/.profile 或者 bashrc 那些配置就好
    balamiao
    balamiao
    Apr 23, 2018
    39
    额,ubuntu 表示不背这个锅~
    ThirdFlame
    ThirdFlame
    Apr 23, 2018
    40
    @Hopetree
    #!/bin/bash
    cd 路径
    python a.py
    Hopetree
    Hopetree
    OP
    Apr 23, 2018
    41
    @ThirdFlame 不行,这样写不行,python 要改成 /usr/bin/python3 才行,不然运行不了
    kidtest
    kidtest
    Apr 23, 2018
    42
    @Hopetree 涉及到路径的,全部写成绝对路径,包括要执行的脚本里面的路径
    Hopetree
    Hopetree
    OP
    Apr 23, 2018
    43
    @kidtest 是的,我目前就是这样做的,特别是写的 python 代码,里面的地址经常忘了写成绝对路径,所以我才问有没有其他的方法可以不用这样麻烦
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4812 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 86ms · UTC 07:49 · PVG 15:49 · LAX 23:49 · JFK 02:49
    ♥ Do have faith in what you're doing.