@reboot
@reboot 是一个在 crontab(cron 表的简称)文件中使用的特殊字符串,用于指定某个任务或命令在系统每次重启后立即执行一次。cron 是一个基于时间的作业调度器,在 Unix 和类 Unix 操作系统(如 Linux)中广泛使用,用于在后台自动执行任务。
具体来说,@reboot 的用法如下:
在 crontab 文件中,你可以通过在第一列(通常是分钟字段)中使用 @reboot 而不是具体的时间值,来指定一个任务在系统启动时执行。
紧接着 @reboot 的是要执行的命令或脚本的路径。
例如,如果你想在系统每次重启后都自动执行 /home/user/script.sh 脚本,你可以在 crontab 文件中添加这样一行:@reboot /home/user/script.sh。
crontab 文件中的其他特殊字符串还包括 @yearly(或 @annually)、@monthly、@weekly、@daily 和 @hourly,它们分别用于指定每年、每月、每周、每天和每小时执行一次的任务。
需要注意的是,crontab 文件是用户级别的,每个用户都可以有自己的 crontab 文件来定义自己的定时任务。系统级别的定时任务则通常通过 /etc/crontab 文件或类似的系统级配置文件来管理。
此外,虽然 @reboot 用于指定系统重启后立即执行的任务,但它并不保证任务会在所有服务都启动完成后才执行。因此,如果你的任务依赖于某些特定服务,你可能需要使用其他机制(如 systemd 服务文件)来确保任务在正确的时间执行。
综上所述,@reboot 是 crontab 文件中用于指定系统重启后立即执行一次任务的特殊字符串。
使用示例
- 终端输入
crontab -e
- 在 crontab 文件中添加以下内容,使脚本在系统启动时运行: