Ubuntu定时任务编辑指南(基于crontab)
通过键盘快捷键 Ctrl + Alt + T 快速启动终端,这是操作定时任务的基础环境。
使用 crontab -e 命令进入当前用户的定时任务编辑界面。如果是首次使用,系统会提示选择默认文本编辑器(如nano、vim),选择熟悉的工具即可(推荐新手使用nano,操作更简单)。
crontab文件的每一行代表一个定时任务,核心格式为:
* * * * * command_to_execute
五个星号分别对应:
0表示整点,*/5表示每5分钟;8表示早上8点,*表示每小时;1表示每月1号,1-7表示每月前7天;1表示1月,*表示每月;0和7均表示星期日,1-6表示周一到周六;/home/user/backup.sh),避免因路径问题导致任务无法执行。在打开的编辑器中,按照上述格式添加新任务或修改现有任务。例如:
0 8 * * * /home/user/backup.sh;15 * * * * /usr/bin/rm -rf /tmp/*.tmp;0 2 * * 1 /home/user/sync_data.sh。Ctrl + O 保存文件,再按 Ctrl + X 退出;Esc 键退出插入模式,输入 :wq(保存并退出),然后按 Enter 确认。使用 crontab -l 命令查看当前用户的所有定时任务,确认任务是否添加成功。例如:
$ crontab -l
0 8 * * * /home/user/backup.sh
15 * * * * /usr/bin/rm -rf /tmp/*.tmp
若需查看其他用户的任务(需root权限),可使用 sudo crontab -l -u username(替换username为目标用户名)。
crontab -r 命令(谨慎操作,会清除所有定时任务);crontab -e 打开编辑器,找到目标行并删除,保存退出即可。chmod +x /path/to/script.sh 命令设置;sudo vim /etc/rsyslog.d/50-default.conf),取消cron.* /var/log/cron.log前的注释,重启rsyslog服务(sudo systemctl restart rsyslog),之后可通过tail -f /var/log/cron.log实时查看日志。若需要更灵活的定时管理(如依赖关系、延迟执行),可使用systemd定时器。步骤包括:
/etc/systemd/system/backup.service),定义任务执行内容;/etc/systemd/system/backup.timer),设置触发时间;sudo systemctl enable --now backup.timer)。systemctl list-timers可查看所有定时器状态。