【问题标题】:Bash script working but fails in crontabBash 脚本工作但在 crontab 中失败
【发布时间】:2014-03-13 20:28:34
【问题描述】:

我遇到了这个脚本/cron 的问题。我在 Raspberry pi 上运行,并且其他 cronjobs 工作得很好(所以我知道它不是系统上的 cron)。

我的脚本:

#!/bin/bash
rm -f /var/www/output/*

此脚本在命令行中运行良好 bash clearcsv.sh 但是当我尝试将其转换为 cronjob 时,它似乎没有执行

Cron 脚本:*/6 * * * * /home/pi/clearcsv.sh

这应该每 6 分钟清除一次“输出”文件夹的内容,但它不会。如果有人能告诉我我在哪里失败或指出我正确的方向,那就太好了

谢谢

total 160
drwxrwxrwx 14 pi   pi         4096 Mar 13 16:41 .

drwxr-xr-x  3 root root       4096 Dec 31  1969 ..

-rw-r--r--  1 pi   pi            0 Mar 10 21:56 ?

-rwxrwxrwx  1 pi   pi         8700 Mar 13 15:32 .bash_history

-rwxrwxrwx  1 pi   pi          220 Jan  7 16:10 .bash_logout

-rwxrwxrwx  1 pi   pi         3243 Jan  7 16:10 .bashrc

drwxrwxrwx  8 pi   pi         4096 Mar 10 19:24 .cache

-rwxrwxrwx  1 pi   pi           41 Mar 13 16:11 clearcsv.sh

drwxrwxrwx 12 pi   pi         4096 Feb 12 18:21 .config

-rwxrwxrwx  1 pi   pi          420 Mar 13 17:02 csv.sh

drwxrwxrwx  2 pi   pi         4096 Feb 12 18:20 Desktop

-rw-r--r--  1 pi   pi           35 Mar  7 08:17 .dmrc

drwxrwxrwx  2 pi   pi         4096 Jan 16 13:32 .fontconfig

drwxrwxrwx  2 pi   indiecity  4096 Jan 16 13:34 .gstreamer-0.10

drwxrwxrwx  2 pi   pi         4096 Jan 16 13:32 .gvfs

drwxrwxrwx  3 pi   pi         4096 Jan 16 13:33 indiecity

drwxrwxrwx  2 pi   pi         4096 Mar 13 13:27 input

drwxrwxrwx  3 pi   pi         4096 Jan 16 13:33 .local

drwxrwxrwx  9 pi   pi         4096 Jan 16 14:30 .Mathematica

-rwxrwxrwx  1 pi   pi         5781 Feb  3  2013 ocr_pi.png

-rwxrwxrwx  1 pi   pi            0 Mar 10 18:24 output.csv

-rwxrwxrwx  1 pi   pi          671 Mar 13 13:39 poller.sh
-rwxrwxrwx  1 pi   pi          117 Feb 19 17:34 poll.sh
-rwxrwxrwx  1 pi   pi          675 Jan  7 16:10 .profile


-rw-r--r--  1 root root          3 Jan 16 14:09 restart

drwx------  4 pi   pi         4096 Mar 13 13:22 .thumbnails

-rwxrwxrwx  1 pi   pi           56 Mar  7 08:17 .Xauthority

-rw-------  1 pi   pi        17227 Mar 13 16:56 .xsession-errors

-rwxrwxrwx  1 pi   pi         2385 Mar  6 19:06 .xsession-errors.old

【问题讨论】:

  • 你能发布ls -al /user/pi的输出吗?我的问题是了解用户 Cron 是否以有权访问该目录的身份运行。
  • 您是否允许执行脚本? chmod +x /user/pi/clearcsv.sh
  • 你是从命令行运行bash clearcsv.sh,但从crontab运行/user/pi/clearcsv.sh,首先在两者中使用相同的。
  • @dtmilano 我在有和没有目录的情况下都运行了 bash 和 crontab,无论哪种方式,bash 都可以工作,我尝试过的 crontab 都不能工作。我认为您的建议是一个聪明的想法,并将在所有新代码中实现它,还有其他想法吗?
  • @bryceatnetwork23 我已经更新了我的问题以包含输出

标签: bash cron crontab rm


【解决方案1】:

感谢大家的帮助。我现在一切正常!有兴趣的可以看下代码

使用的新脚本:

#!/bin/bash /bin/rm -f /var/www/output/*

Cron */6 * * * * cd /home/pi && bash clearcsv.sh

【讨论】:

  • 感谢 Chris 分享解决方案!事后看来,这是有道理的,因为 cron 环境与创建 cron 作业的用户环境不同……如果您查看 cron 用户的 .profile 设置,它看起来与您的用户配置文件不同。很高兴你明白了。
猜你喜欢
  • 2021-05-01
  • 2013-01-14
  • 2011-10-11
  • 2013-09-28
  • 2015-07-14
  • 2023-03-04
  • 1970-01-01
  • 2017-10-27
  • 1970-01-01
相关资源
最近更新 更多