服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Linux - crontab -e 系统定时任务

crontab -e 系统定时任务

2023-10-09 14:12逆风水手 Linux

crontab 是由 “cron” 和 “table” 两个单词组成的缩写。其中,“cron” 是一个在 Linux 和类 Unix 操作系统中用于定时执行任务的守护进程,而 “table” 则是指一个表格或者列表,因此 crontab 就是一个用于配置和管理定时任务列表的命

crontab -e解释

crontab 是由 “cron” 和 “table” 两个单词组成的缩写。其中,“cron” 是一个在 Linux 和类 Unix 操作系统中用于定时执行任务的守护进程,而 “table” 则是指一个表格或者列表,因此 crontab 就是一个用于配置和管理定时任务列表的命令。

crontab -e 是一个用于编辑 crontab 文件的命令。crontab 文件是一个用于定时执行任务的文件,其中包含了一系列的命令和任务,系统会按照预定的时间间隔来执行这些任务。

使用 crontab -e 可以编辑当前用户的 crontab 文件,可以添加、删除和修改定时任务。

语法格式:

crontab [-u user] [-l | -r | -e] [-i] [-s] [-v] [-x [num]] [file]

参数说明:

  • -u user:指定要编辑的用户的 crontab 文件,默认为当前用户。
  • -l:列出当前用户的 crontab 文件内容。
  • -r:删除当前用户的 crontab 文件。
  • -e:编辑当前用户的 crontab 文件。
  • -i:在删除 crontab 文件时进行确认提示。
  • -s:显示 crontab 文件的状态信息。
  • -v:显示 crontab 命令的版本信息。
  • -x [num]:设置 crontab 文件的加密级别,默认为 0,不加密。num 可以是 0~9 之间的任意数字。
  • file:指定要安装的 crontab 文件。

使用方法:

  1. 打开终端,输入 crontab -e 命令进入编辑模式。

  2. 编辑 crontab 文件,格式如下:

* * * * * command
- - - - -
| | | | |
| | | | ----- Day of the week (0 - 7) (Sunday is both 0 and 7)
| | | ------- Month (1 - 12)
| | --------- Day of the month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)

其中,星号代表任意值,可以使用数字或者范围表示具体的时间。command 是要执行的命令。

例如,下面的命令表示每天的 0 点执行一次 backup.sh 脚本:

0 0 * * * /home/user/backup.sh
  1. 保存并退出编辑模式,可以使用 Ctrl + X 然后按 Y 确认保存。

  2. 如果需要查看当前用户的 crontab 文件,可以使用 crontab -l 命令。

  3. 如果需要删除当前用户的 crontab 文件,可以使用 crontab -r 命令。

注意事项:

  1. crontab 命令只能编辑当前用户的 crontab 文件,如果需要编辑其他用户的文件需要使用 sudo 权限。

  2. crontab 文件中的命令需要使用绝对路径,否则可能会出现找不到命令的情况。

  3. crontab 文件中的命令会在后台执行,不会在终端中显示输出结果,如果需要查看输出结果可以使用日志文件记录。

  4. crontab 文件的时间设置需要按照格式要求,否则可能会导致任务无法执行。

crontab分系统级别和用户级别

使用 crontab -e 命令编辑的是当前用户的 crontab 文件,而使用 cat /etc/crontab 命令查看的是系统范围内的 crontab 文件。这两个文件虽然都是用于配置和管理定时任务列表,但是它们的位置和作用略有不同。

具体来说,/etc/crontab 文件是系统范围内的 crontab 文件,可以包含多个任务定义,每个任务定义需要指定要执行的命令以及执行的时间和频率。该文件通常由系统管理员维护,用于配置系统级别的定时任务,例如在固定时间备份系统数据、更新系统软件等。

而 crontab -e 命令编辑的是当前用户的 crontab 文件,该文件只包含当前用户的任务定义。每个用户都可以编辑自己的 crontab 文件,用于配置和管理个人级别的定时任务,例如在固定时间备份个人数据、执行自动化脚本等。

因此,crontab -e 编辑后的内容和 cat /etc/crontab 看到的不一样是正常的,因为它们对应了不同的任务列表。如果需要查看当前用户的 crontab 文件内容,可以使用 crontab -l 命令;如果需要查看系统范围内的 crontab 文件内容,可以使用 cat /etc/crontab 命令。

添加系统级别定时任务

要添加系统级别的定时任务,可以使用以下步骤:

  1. 以 root 用户身份登录系统。

  2. 打开 /etc/crontab 文件,例如使用 vim 编辑器:

sudo vim /etc/crontab
  1. 在文件末尾添加任务定义,例如:
# m h dom mon dow user  command
30 1 * * * root /usr/local/bin/backup.sh

在这个例子中,任务定义的格式和含义与普通用户的 crontab 文件相同,分别表示任务执行的分钟、小时、日期、月份、星期和要执行的命令。不同之处在于,这里还需要指定要以哪个用户的身份运行命令,例如 root 用户。

  1. 保存并关闭文件。

  2. 重启 cron 服务,以便使新的任务定义生效:

sudo service cron restart
  1. 验证任务是否生效,可以查看 /var/log/syslog 文件中的日志信息,例如:
sudo tail -f /var/log/syslog | grep backup.sh

如果看到类似以下的日志信息,则表示任务已经成功执行:

Aug  1 01:30:00 hostname CRON[1234]: (root) CMD (/usr/local/bin/backup.sh)

需要注意的是,对系统级别的 crontab 文件的修改需要谨慎操作,以免错误地删除或修改了重要的定时任务。另外,如果需要添加个人级别的定时任务,则应该在当前用户的 crontab 文件中进行编辑。

crontab -e 系统定时任务

cat /etc/crontab 命令用于查看系统中的 crontab 文件。crontab 是一个用于定时执行任务的文件,其中包含了一系列的命令和任务,系统会按照预定的时间间隔来执行这些任务。在 Linux 系统中,crontab 文件通常位于 /etc/crontab 或者 /var/spool/cron 目录中,用于配置和管理定时任务列表。

使用 cat /etc/crontab 命令可以查看系统中的 crontab 文件内容,以便了解系统中已经配置的定时任务。该命令会输出 crontab 文件的所有内容,包括注释和任务定义。需要注意的是,只有拥有 root 权限的用户才能查看 /etc/crontab 文件,普通用户无法查看该文件。

到此这篇关于crontab -e 系统定时任务的文章就介绍到这了,更多相关内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文地址:https://blog.csdn.net/qq_21688871/article/details/130236216

延伸 · 阅读

精彩推荐
  • LinuxLinux kde中11个你不知道的应用程序

    Linux kde中11个你不知道的应用程序

    今天小编就为大家分享一篇关于Linux kde中11个你不知道的应用程序,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随...

    Opensource7712022-07-29
  • Linuxsquid配置解析

    squid配置解析

    因为缺省的配置文件有问题,所以我们必须首先修改该配置文件的有关内容,以便让squid跑起来 ...

    Linux教程网4642019-12-27
  • Linuxlinux创建符号链接的方法(硬链接和符号链接)

    linux创建符号链接的方法(硬链接和符号链接)

    这篇文章主要介绍了linux创建符号链接的方法(硬链接和符号链接),需要的朋友可以参考下 ...

    Linux教程网5882019-11-20
  • Linux如何更改SSH服务器远程登陆设置

    如何更改SSH服务器远程登陆设置

    为了系统安全,我们通常都会修改这些默认的设置,下面就说下怎么修改ssh的配置。实验用的系统为CentOS6.9,其他的Linux也可以参考。...

    三世浮华6272021-06-01
  • Linuxlinux的hostname(主机名)修改详解

    linux的hostname(主机名)修改详解

    Linux操作系统的hostname是一个kernel变量,可以通过hostname命令来查看本机的hostname。也可以直接cat /proc/sys/kernel/hostname查看,感兴趣的朋友可以参考下本文的l...

    Linux教程网22322019-12-09
  • LinuxLinux系统中通过引导进入单用户模式的方法

    Linux系统中通过引导进入单用户模式的方法

    这篇文章主要介绍了Linux系统中通过引导进入单用户模式的方法,分别介绍了grub和lilo两种引导.需要的朋友可以参考下 ...

    大步's Blog6442019-09-17
  • Linuxlinux挂载新硬盘过程分享

    linux挂载新硬盘过程分享

    最近有个生产机由于缓存问题,硬盘不太够用,所以就加载了一块硬盘,下面把挂载硬盘的过程记录下,供大家参考...

    Linux教程网9102021-10-07
  • LinuxLinux DHCP协议实现过程

    Linux DHCP协议实现过程

    我特别喜欢 Linux 启动的时候屏幕上一行一行的提示。它把系统正在干的所有事情都告诉了我们,不像Windows,自检完了就给个进度条,背后干啥都不让我们...

    Linux教程网5722020-04-06