本篇主要讲解的知识:
- 什么是cron
- 如何设置cron定时任务
- 树莓派如何设置自动重启
如果仅仅是为了了解如何设置树莓派自动重启,请跳转至最后一部分~
什么是cron?
作为一款小型电脑,树莓派的轻便、易用使得它很适合充当小型服务器(博主就用树莓派搭了一个中继服务器),定时执行一些任务(比如定时发送邮件)。由于任务的内容和执行时间已经明确了,所以要是能把任务和任务的执行时间预先写入树莓派中,让树莓派自动执行,这样,用户就不用手动地去操作树莓派了。为此,我们可以使用Linux提供的cron来完成。
cron是Linux系统下的任务规划软件,可以在cron中要求系统在特定的时间执行特定的任务。cron在系统中有一个运行着的守护进程(守护进程是指随系统启动而启动的后台执行的程序,可以理解为在系统运行时,守护进程会一直保持在后台,并对特定事件做出响应),当系统时间符合某一条规划记录的执行时间时,守护进程就会执行对应的任务。
如何设置cron定时任务
在/etc 目录下的crontab文件中,大家可以查看cron定时任务的设置规则。首先进入该文件:
sudo nano /etc/crontab
在该文件中,可以看到定时任务的设置规则,如下:
在规划记录中,每一行为一条记录,以 # 开始的是注释。每一行记录又分为6列,并使用空格分割开来,分隔开的部分别表示分钟(0~59),小时(0~23),一个月中的某一天(1~31),月份(1~12),一个星期中的某一天(0~6),以及要执行的命令。在数字部分,除了使用数字外,还可以使用 * (星号)来表示不限范围。比如下面这个例子:
52 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
此外,cron还可以规划多个时间点(利用 - 或者 ,),如下例:
9 2-4 * * * touch /tmp/temp.log
9 2,12 * * * touch /tmp/temp.log
树莓派如何设置自动重启? 如果树莓派长时间运行不关机的话,可能在某一时刻出现崩掉的情况(博主的树莓派之前就遇到过这种情况,刻骨铭心啊.....),但是手动进行重启的话,未免也太过麻烦。这时,我们就可以利用之前讲到的cron来设置定时重启任务。
首先我们进入/etc/crontab
sudo nano /etc/crontab
然后在行末根据需要添加定时任务,如下例:
0 4 * * * pi sudo reboot
30 12 * * * pi sudo reboot
其实大家也可以使用 crontab -e来设置定时任务,但博主并不推荐这样做,因为在/etc/crontab中设置的定时任务是全局的(system-wide),可以避免一些不必要的麻烦,比crontab -e更佳。
|