linux 使用crontab 创建定时任务

简介: 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

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

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

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

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

                 

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

chmod +x /path/to/script.sh

  

 

标签: linux

目录
相关文章
|
1月前
|
监控 Unix Linux
|
2月前
|
Linux
Linux Crontab 查看定时任务启动没
【10月更文挑战第20天】在Linux系统中,crontab用于设置周期性执行的任务。查看当前用户的Crontab任务列表,使用`crontab -l`;查看所有用户任务,使用`sudo crontab -l`或指定用户`sudo crontab -u username -l`。
84 5
|
6月前
|
Unix Linux
Linux中的Crontab:定时任务管理器
`crontab`是Linux下的定时任务管理器,用于设置周期性执行的任务。用户可以通过`crontab -l`查看任务,`crontab -e`编辑,`crontab -r`删除任务。任务格式为:`* * * * * command`,分别代表分钟、小时、日期、月份、星期,例如`30 10 * * * /path/to/script.sh`。注意确保命令有执行权限,处理环境变量,并关注日志文件 `/var/log/syslog` 或 `/var/log/cron`。学会使用`crontab`能有效自动化Linux系统的日常任务。
|
4月前
|
存储 运维 监控
运维.Linux下执行定时任务(中:Cron的常用替代方案)
本文是关于Linux下执行定时任务系列的第二部分,主要探讨除了Cron之外的常用替代方案。介绍了Systemd Timers、Anacron及at命令三种工具,它们分别适用于不同场景下的定时任务需求。文章详细分析了每种工具的特点、工作原理、基本使用方法及其高级功能,并对比了它们各自的优缺点,帮助读者根据实际情况选择最适合的定时任务解决方案。此外,还提供了指向具体实例和进一步阅读材料的链接。
187 4
运维.Linux下执行定时任务(中:Cron的常用替代方案)
|
4月前
|
监控 Linux 调度
在Linux中,如何进行调度任务?什么是 crontab 并解释 crontab 中的字段?
在Linux中,如何进行调度任务?什么是 crontab 并解释 crontab 中的字段?
|
4月前
|
监控 安全 Linux
在Linux中,如何设置定时任务(cron job)?
在Linux中,如何设置定时任务(cron job)?
|
4月前
|
监控 Ubuntu Linux
|
4月前
|
存储 运维 监控
运维.Linux下执行定时任务(上:Cron简介与用法解析)
运维.Linux下执行定时任务(上:Cron简介与用法解析)
61 0
|
6月前
|
Ubuntu Linux 数据安全/隐私保护
Linux Ubuntu crontab 添加错误 提示:no crontab for root - using an empty one 888
Linux Ubuntu crontab 添加错误 提示:no crontab for root - using an empty one 888
135 3
|
6月前
|
关系型数据库 MySQL Shell
【权限提升】Linux系统&环境变量&定时任务&权限配置不当&MDUT自动化
【权限提升】Linux系统&环境变量&定时任务&权限配置不当&MDUT自动化
113 4
下一篇
DataWorks