Raspberry Pi 关闭时的 Crontab 计划
Crontab Schedule when Raspberry Pi is off
我想每天早上 6 点删除一些文件。我在考虑使用 crontab 来安排这个任务,比如
0 6 * * * sudo rm path/to/file
但我的 raspberry Pi 很可能会在此时关闭并在当天晚些时候打开。
所以我的问题是:如果 RPi 在它应该执行命令时碰巧关闭,任务 运行 是否会在启动时?
我不能用@reboot
因为树莓派白天可以断电,每天早上6点只删除一次文件
at 和 cron 命令仅在系统日期对应于计划执行的日期时启动。如果机器在预定的执行时间关闭,则没有追赶。
您的解决方案是编写您自己的调度脚本并运行它在守护程序服务
我会在 crontab 和文件中使用 bash 脚本来存储文件是否已被删除。像这样:
#!/bin/bash
FILE=flag.txt
value=0
if test -f "$FILE"; then
echo "$FILE exists."
value=$(<$FILE)
fi
echo "$value"
if [ $value -eq 1 ]
then
echo "already deleted, nothing to do"
value=0
else
echo "not deleted, deleting"
rm file_to_delete.txt
value=1
fi
echo $value>$FILE
然后调用这个脚本@reboot
我想每天早上 6 点删除一些文件。我在考虑使用 crontab 来安排这个任务,比如
0 6 * * * sudo rm path/to/file
但我的 raspberry Pi 很可能会在此时关闭并在当天晚些时候打开。
所以我的问题是:如果 RPi 在它应该执行命令时碰巧关闭,任务 运行 是否会在启动时?
我不能用@reboot
因为树莓派白天可以断电,每天早上6点只删除一次文件
at 和 cron 命令仅在系统日期对应于计划执行的日期时启动。如果机器在预定的执行时间关闭,则没有追赶。
您的解决方案是编写您自己的调度脚本并运行它在守护程序服务
我会在 crontab 和文件中使用 bash 脚本来存储文件是否已被删除。像这样:
#!/bin/bash
FILE=flag.txt
value=0
if test -f "$FILE"; then
echo "$FILE exists."
value=$(<$FILE)
fi
echo "$value"
if [ $value -eq 1 ]
then
echo "already deleted, nothing to do"
value=0
else
echo "not deleted, deleting"
rm file_to_delete.txt
value=1
fi
echo $value>$FILE
然后调用这个脚本@reboot