通过crontab -e运行时脚本不运行

时间:2014-09-28 15:29:22

标签: linux ubuntu crontab

所以我有一个脚本用于唤醒我的电脑使用rtc ...脚本手动工作正常,但当我试图通过crontab -e运行它时它不起作用。我对cron不太熟悉,所以我做错了。

此时我使用命令:

@reboot /nikos/script/auto.sh

只是为了试着看看它是否正在工作......尝试了其他一些方法(使用路径和其他一些但没有任何工作)

脚本代码

#!/bin/bash 
sh -c "echo 0 > /sys/class/rtc/rtc0/wakealarm" 
sh -c "echo `date '+%s' -d '+ 420 minutes'` > /sys/class/rtc/rtc0/wakealarm" 

任何帮助都是apreciated

编辑: 为了看看它是否有用我跑:

cat /proc/driver/rtc

我看到它没有启用rtc闹钟

1 个答案:

答案 0 :(得分:0)

我立即看到了一件事。您需要提供/ bin / sh,/ bin / echo和/ bin / date

的绝对路径

在cron中执行的脚本中放置绝对路径可以解决大多数问题。如果你的脚本在命令行上运行正常,而不是通常是罪魁祸首的cron。

/ bin / sh -c" / bin / echo 0> / SYS /类/ RTC / RTC0 / wakealarm"

/ bin / sh -c" / bin / echo / bin / date' +%s' -d' + 420分钟' > / SYS /类/ RTC / RTC0 / wakealarm"

对stackexchange的另一篇文章的回答也提到了cron与@reboot脚本有问题的原因有很多。点击此处:https://unix.stackexchange.com/questions/109804/crontabs-reboot-only-works-for-root

通过将其添加到启动脚本(例如/etc/rc.d/rc.local而不是使用cron)来运行它可能是值得的。您仍将获得最佳结果,提供命令的绝对路径以确保它们可访问。

另外:测试@reboot是否在您的系统上正常运行。并非所有版本的cron都能正确执行。添加此脚本进行测试:@reboot / bin / echo" @reboot works" >的/ tmp / reboot_test

如果您的目标目录在重启脚本启动时在启动时不可用,也会导致问题。