所以我有一个脚本用于唤醒我的电脑使用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闹钟
答案 0 :(得分:0)
在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
如果您的目标目录在重启脚本启动时在启动时不可用,也会导致问题。