树莓派:如何利用cron设置自动重启?

本篇主要讲解的知识:

  • 什么是cron
  • 如何设置cron定时任务
  • 树莓派如何设置自动重启

如果仅仅是为了了解如何设置树莓派自动重启,请跳转至最后一部分~

什么是cron?

作为一款小型电脑,树莓派的轻便、易用使得它很适合充当小型服务器(博主就用树莓派搭了一个中继服务器),定时执行一些任务(比如定时发送邮件)。由于任务的内容和执行时间已经明确了,所以要是能把任务和任务的执行时间预先写入树莓派中,让树莓派自动执行,这样,用户就不用手动地去操作树莓派了。为此,我们可以使用Linux提供的cron来完成。

cron是Linux系统下的任务规划软件,可以在cron中要求系统在特定的时间执行特定的任务。cron在系统中有一个运行着的守护进程(守护进程是指随系统启动而启动的后台执行的程序,可以理解为在系统运行时,守护进程会一直保持在后台,并对特定事件做出响应),当系统时间符合某一条规划记录的执行时间时,守护进程就会执行对应的任务。

如何设置cron定时任务

在/etc 目录下的crontab文件中,大家可以查看cron定时任务的设置规则。首先进入该文件:

sudo nano /etc/crontab

在该文件中,可以看到定时任务的设置规则,如下:

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed

在规划记录中,每一行为一条记录,以 # 开始的是注释。每一行记录又分为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 )
# 每天的6点52执行这个命令

此外,cron还可以规划多个时间点(利用 - 或者 ,),如下例:

# 每天的2:09,3:09,4:09执行touch指令
9 2-4  * * * touch /tmp/temp.log
# 每天的2:09,12:09执行touch命令
9 2,12  * * * touch /tmp/temp.log

树莓派如何设置自动重启?

如果树莓派长时间运行不关机的话,可能在某一时刻出现崩掉的情况(博主的树莓派之前就遇到过这种情况,刻骨铭心啊.....),但是手动进行重启的话,未免也太过麻烦。这时,我们就可以利用之前讲到的cron来设置定时重启任务。

首先我们进入/etc/crontab

sudo nano /etc/crontab

然后在行末根据需要添加定时任务,如下例:

# 每天凌晨4点和中午12点30分对树莓派进行重启,pi是用户名(user-name)
0  4    * * *   pi      sudo reboot
30 12   * * *   pi      sudo reboot

其实大家也可以使用 crontab -e来设置定时任务,但是并不推荐这样做,因为在/etc/crontab中设置的定时任务是全局的(system-wide),可以避免一些不必要的麻烦,比crontab -e更佳。

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值