linux 使用crontab 创建定时任务

转载请注明出处:

  在服务器中需要创建一个定时任务,每天执行去清理很早之前备份的文件,所以想到在linux上创建一个shell脚本,通过linux的 crontab 命令定时去执行该shell脚本,从而实现定时清理服务器文件。

  crontab是Linux系统中用于调度任务的命令,它允许用户在固定的间隔时间执行命令或脚本。

特性

  • crontab可以在没有用户交互的情况下执行任务,这使得它非常适合自动化和后台任务。
  • crontab可以设置多个不同的任务,每个任务都有自己的调度时间。
  • crontab支持在特定的日期和时间运行任务,例如,你可以设置在每个月的最后一天运行一个任务。
  • crontab支持在特定的时间间隔运行任务,例如,你可以设置每小时运行一次任务。
  • crontab可以在系统重启后自动恢复任务。

使用场景

  • 系统维护:例如,定期清理系统日志,备份数据库等。
  • 数据分析:例如,定期运行数据分析脚本,生成报告等。
  • 网络任务:例如,定期检查网络连接,发送邮件通知等。

crontab命令的基本语法如下:

*    *    *  *   *       command to be executed
-    -    -  -   -
|    |    |  |   |
|    |    |  |   +----- day of the week (0 - 6) (Sunday=0)
|    |    |  +------- month (1 - 12)
|    |    +--------- day of the month (1 - 31)
|    +----------- hour (0 - 23)
+------------- min (0 - 59)

  例如,如果想每天的早上5点运行一个脚本,可以使用以下的crontab命令:

0 5 * * * /path/to/command/script.sh

  如果想在每个月的最后一天运行一个脚本,可以使用以下的crontab命令:

0 0 1 * * /path/to/command/script.sh

  每小时运行一次脚本

0 * * * * /path/to/command/script.sh

  要编辑crontab文件,你可以使用crontab -e命令。这将打开一个文本编辑器,你可以在其中添加、修改或删除任务。例如:

crontab -e

  先使用 select-editor 选择 编辑类型,然后再使用crontab -e 到具体的编辑器里面编辑配置文件

              

  这将打开一个文本编辑器,可以在其中添加、修改或删除任务。例如,可以添加以下行来每天的早上5点运行一个脚本:

0 5 * * * /path/to/command/script.sh

  crontab中经常配置运行脚本输出为:>/dev/null 2>&1,来避免crontab运行中有内容输出。

  然后保存并退出编辑器,新的任务将在下一个预定的时间点运行。

  保存成功的定时任务配置文件 在/var/spool/cron/下面 :

                   

  需要注意的是,你需要给你的脚本添加执行权限,才能让 cron 执行这个脚本。

chmod +x /path/to/script.sh

  

 

posted @ 2023-11-08 23:49  香吧香  阅读(657)  评论(0编辑  收藏  举报