更新时间:2022-09-29 GMT+08:00
分享

利用crontab配置定时任务

操作场景

示例场景:每天21:30进入/root目录下,执行增量上传/src/src1文件夹到obs://bucket-test桶内。

前提条件

必须在Linux操作系统下,并且正常开启了crond(定时任务计划)服务。如果是windows用户请参考配置windows定时任务

运行service crond status命令可查看是否开启该服务。

配置步骤

  1. 执行crontab -e命令,打开编辑定时任务的配置文件。
  2. 进入Insert模式开始编辑配置文件。

    30 21 * * * cd /root && nohup ./obsutil cp /src/src1 obs://bucket-test -r -f -u &>obsutil_crond.log &

    假设obsutil工具位于/root目录下,上述配置的定时任务含义为:每天21:30进入/root目录下,执行增量上传/src/src1文件夹到obs://bucket-test桶内并将命令的输出内容重定向到/root下的obsutil_crond.log中。

  3. 按Esc退出Insert模式,并输入:wq保存并退出。
  4. 执行命令:crontab -l,查看当前用户已配置的定时任务,确认配置成功。

常见问题

  1. 如何确定定时任务是否正在执行?
    • 执行命令:tail /var/log/cron,查看最近的定时任务执行记录。
    • 执行命令:ps -ef | grep obsutil,查看obsutil进程是否正在执行。
  2. 如何强制终止正执行的定时任务?
    1. 执行命令:ps -ef | grep obsutil,查看obsutil的进程信息。
    2. 执行命令:kill -9 PID,强制终止该进程(PID为查询到的进程号)。

相关文档