房产网站模板程序,怎么看一个网站做的好不好,网站 攻击,wordpress备案怎么写crontab 命令的基本格式如下#xff1a; [rootlocalhost ~]# crontab [选项] [file] file 指的是命令文件的名字#xff0c;表示将 file 作为 crontab 的任务列表文件并载入 crontab#xff0c;若在命令行中未指定文件名#xff0c;则此命令将接受标准输入#xff08;键盘…crontab 命令的基本格式如下 [rootlocalhost ~]# crontab [选项] [file] file 指的是命令文件的名字表示将 file 作为 crontab 的任务列表文件并载入 crontab若在命令行中未指定文件名则此命令将接受标准输入键盘上键入的命令并将它们键入 crontab。 表 1 罗列出了此命令常用的选项及功能。
表 1 crontab 命令常用选项及功能 选项功能-u user用来设定某个用户的 crontab 服务例如 -u demo 表示设备 demo 用户的 crontab 服务此选项一般有 root 用户来运行。-e编辑某个用户的 crontab 文件内容。如果不指定用户则表示编辑当前用户的 crontab 文件。-l显示某用户的 crontab 文件内容如果不指定用户则表示显示当前用户的 crontab 文件内容。-r 从 /var/spool/cron 删除某用户的 crontab 文件如果不指定用户则默认删除当前用户的 crontab 文件。 -i在删除用户的 crontab 文件时给确认提示。
crontab 定时任务非常简单只需执行“crontab -e”命令然后输入想要定时执行的任务即可。不过当我们执行“crontab -e”命令时打开的是一个空文件而且操作方法和 Vim 是一致的。文件格式如下 [rootlocalhost ]# crontab -e #进入 crontab 编辑界面。会打开Vim编辑你的任务 * * * * * 执行的任务 这个文件中是通过 5 个“*”来确定命令或任务的执行时间的这 5 个“*”的具体含义如表 2 所示。
表 2 crontab 时间表示 项目含义范围第一个*一小时当中的第几分钟minute0~59第二个*一天当中的第几小时hour0~23第三个*一个月当中的第几天day1~31第四个*一年当中的第几个月month1~12第五个*一周当中的星期几week0~70和7都代表星期日
在时间表示中还有一些特殊符号如表 3 所示。
表 3 时间特殊符号 特殊符号含义*星号代表任何时间。比如第一个*就代表一小时种每分钟都执行一次的意思。,逗号代表不连续的时间。比如0 81216***命令就代表在每天的 8 点 0 分、12 点 0 分、16 点 0 分都执行一次命令。-中杠代表连续的时间范围。比如0 5 ** 1-6命令代表在周一到周六的凌晨 5 点 0 分执行命令。/正斜线代表每隔多久执行一次。比如*/10****命令代表每隔 10 分钟就执行一次命令。
当“crontab -e”编辑完成之后一旦保存退出那么这个定时任务实际就会写入 /var/spool/cron/ 目录中每个用户的定时任务用自己的用户名进行区分。而且 crontab 命令只要保存就会生效只要 crond 服务是启动的。 crontab举例
时间 含义 45 22 ***命令 在 22 点 45 分执行命令 0 17 ** 1命令 在每周一的 17 点 0 分执行命令 0 5 115**命令 在每月 1 日和 15 日的凌晨 5 点 0 分执行命令 40 4 ** 1-5命令 在每周一到周五的凌晨 4 点 40 分执行命令 */10 4 ***命令 在每天的凌晨 4 点每隔 10 分钟执行一次命令 0 0 115 * 1命令 在每月 1 日和 15 日每周一个 0 点 0 分都会执行命令注意星期几和几日最好不要同时出现因为它们定义的都是天非常容易让管理员混淆 【例 1】让系统每隔 5 分钟就向 /tmp/test 文件中写入一行“11”验证一下系统定时任务是否会执行。 [rootlocalhost ~]# crontab -e #进入编辑界面 */5 * * * * /bin/echo 11 /tmp/test 这个任务在时间工作中没有任何意义但是可以很简单地验证我们的定时任务是否可以正常执行。如果觉得每隔 5 分钟太长那就换成“*”让它每分钟执行一次。而且和 at 命令一样如果我们定时执行的是系统命令那么最好使用绝对路径。
【例 2】让系统在每周二的凌晨 5 点 05 分重启一次。 [rootlocalhost ~]# crontab -e 5.5 * * 2 /sbin/shutdown -r now 如果服务器的负载压力比较大则建议每周重启一次让系统状态归零。比如绝大多数游戏服务器每周维护一次维护时最主要的工作就是重启让系统状态归零。这时可以让我们的服务器自动来定时执行。
【例 3】在每月 1 日、10 日、15 日的凌晨 3 点 30 分都定时执行日志备份脚本 autobak.sh。 [rootlocalhost ~]# crontab -e 30.3 11015 * * /root/sh/autobak.sh 这些定时任务保存之后就可以在指定的时间执行了。可以使用命令来查看和删除定时任务命令如下 [rootlocalhost ~]# crontab -l #查看root用户的crontab任务 */5 * * * * /bin/echo 11 /tmp/test 5.5 * * 2 /sbin/shutdown -r now 30.3 11015 * * /root/sh/autobak.sh [rootlocalhost ~]# crontab -r #删除root用户所有的定时任务。如果只想删除某个定时任务则可以执行“crontab -e”命令进入 #编辑模式手工删除 [rootlocalhost ~]# crontab -l no crontab for root #删除后再查询就没有root用户的定时任务了 在书写 crontab 定时任务时需要注意以下几个事项
6 个选项都不能为空必须填写。如果不确定则使用“*”代表任意时间。crontab 定时任务的最小有效时间是分钟最大有效时间是月。像 2018 年某时执行、3 点 30 分 30 秒这样的时间都不能被识别。在定义时间时日期和星期最好不要在一条定时任务中出现因为它们都以天为单位非常容易让管理员混淆。在定时任务中不管是直接写命令还是在脚本中写命令最好都使用绝对路径。有时使用相对路径的命令会报错。