📜  每周运行一次 cron - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:26:53.690000             🧑  作者: Mango

每周运行一次 cron - Shell-Bash

简介

cron 是一个在 Linux 和 Unix 系统中用于定期运行指定命令或脚本的工具。它可以周期性地执行一些系统维护任务,如备份数据库、清理临时文件、发送电子邮件等等。cron 工具使用的是一个名为 crontab 的配置文件,其中包含了定时任务的详细信息。

使用方法
编写 crontab 文件

要使用 cron,首先需要编辑 crontab 文件。可以通过以下命令打开当前用户的 crontab 文件:

crontab -e

如果是第一次编辑该文件,会提示选择默认的编辑器。选择喜欢的即可,常用的如 vivimnano 等。

接下来就可以按照以下格式编写定时任务:

* * * * * command

其中,5 个 * 分别代表了任务的执行时间,从左到右分别是:

  • 分钟数(0~59)
  • 小时数(0~23)
  • 月份中的第几天(1~31)
  • 月份(1~12)
  • 星期几(0~6,0 表示星期日)

command 则为需要执行的命令或脚本。例如:

0 1 * * * /usr/local/bin/backup.sh

表示每天凌晨 1 点执行 /usr/local/bin/backup.sh 脚本来备份数据。

检查、查看和删除任务

通过以下命令可以列出当前用户的所有定时任务:

crontab -l

要删除某个定时任务,可以使用以下命令:

crontab -r

当然,也可以把任务编辑器中的内容全部清空之后保存,也会删除所有任务。

注意事项
  • 在 crontab 文件中,每个任务占用一行,可以用 # 开头来注释该行。

  • 命令的路径最好使用绝对路径,这样可以避免由于环境变量问题导致的找不到命令的问题。

  • 在 crontab 文件中修改或添加任务后,需要运行 crontab 命令使修改生效。例如:

    crontab /etc/cron.d/mycron
    
  • cron 会将任务的输出发送到当前用户的邮件地址中,可以通过以下命令来设置该地址:

    echo "MAILTO=youremail@example.com" >>/etc/crontab
    

    其中,youremail@example.com 为你的邮箱地址。

总结

使用 cron 可以轻松地完成定时任务的设置,掌握了相关知识,可以极大地提高工作效率和系统安全性。不过需要注意任务的编写方式,以及在文件修改后需要运行 crontab 命令使修改生效等注意事项。