博客网站素材,电子商务网站开发的目的是什么,seo推广怎么弄,网络运维管理平台文章目录 一、概述二、基于crontab的设置2.1 基本命令说明2.2 使用-e指令编辑命令2.2.1 进入编辑模式2.2.2 指令信息格式2.2.4 开启日志1) 修改rsyslog配置文件2) 重启rsyslog3) 查看日志 2.2.3 设置后之后重启服务 三、示例3.1 每隔一分钟往文件中日期3.2 使用-l查看任务列表3… 文章目录 一、概述二、基于crontab的设置2.1 基本命令说明2.2 使用-e指令编辑命令2.2.1 进入编辑模式2.2.2 指令信息格式2.2.4 开启日志1) 修改rsyslog配置文件2) 重启rsyslog3) 查看日志 2.2.3 设置后之后重启服务 三、示例3.1 每隔一分钟往文件中日期3.2 使用-l查看任务列表3.3 使用-r删除所有任务3.4 设置定时关机 总结 白衣沽酒绮罗生 百代繁华一朝都谁非过客千秋明月吹角寒花是主人。 一、概述
crontab命令常见于Unix和类Unix的操作系统之中用于设置周期性被执行的指令。该命令从标准输入设备读取指令并将其存放于“crontab”文件中以供之后读取和执行。该词来源于希腊语 chronos(χρνο)原意是时间。 通常crontab储存的指令被守护进程激活 crond常常在后台运行每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。 通过Crontab我们可以设置按照按照固定的周期执行某一些操作。 测试用Ubuntu系统信息 Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-83-generic x86_64) 二、基于crontab的设置
2.1 基本命令说明
crontab [-u username] filepath
crontab [-u username] [-l|-e|-r]-u此参数为root账户用于给其他用户设置周期任务使用仅root账户可用-e编辑crontab的内容-l查看crontab的内容-r移除所有crontab的内容若紧要移除其中一项需要使用-e进行编辑filepath通过文件路径指定要定期致性的文件建议使用绝对路径。
2.2 使用-e指令编辑命令
2.2.1 进入编辑模式
zeroubuntu:/etc$ crontab -e # 直接使用-e指令编辑信息
no crontab for zero - using an empty one # 初次使用提示当前没有信息Select an editor. To change later, run select-editor. # 要求选择默认的编辑器1. /bin/nano ---- easiest2. /usr/bin/vim.basic3. /usr/bin/vim.tiny4. /bin/edChoose 1-4 [1]: 2 # 我选了了2
crontab: installing new crontab
zeroubuntu:/etc$设置完之后会自动打开编辑器用于编辑指令可以看到基本的提示内容 这是vim编辑界面编辑完成后“:wq”就可以保存退出了。
2.2.2 指令信息格式
crontab的工作内容包括6个字段5个时间参数以及一个指令
字段分钟小时日期月份周指令数字范围0-590-231-311-120-7具体的指令
特殊字符和注意信息
周的数字代表的是星期几0和7都代表星期天*星号型号标识任何的意思就是无论什么数值都符合条件,逗号标识分割时段的意思如3,6标识的是3和6都可以-减号代表一定的范围段包头尾如3-5标识345都可以*/n斜线标识间隔即间隔n致性一次如分钟设置为*/5或者0-59/5就是标识每个5分钟执行一次。
2.2.4 开启日志
ubuntu默认没有开启crontab的日志需要手动开启日志。 通过配置rsyslog启用crontab的日志。
1) 修改rsyslog配置文件
# 注意修改日志配置文件需要使用root权限。
zeroubuntu:/var/log$ sudo vim /etc/rsyslog.d/50-default.conf去掉cron日志行签名的星号然后“:wq”保存退出。
cron.* /var/log/cron.log 2) 重启rsyslog
使用service命令重启rsyslog服务。
zeroubuntu:/var/log$ service rsyslog restartAUTHENTICATING FOR org.freedesktop.systemd1.manage-units
Authentication is required to restart rsyslog.service.
Authenticating as: Zero (zero)
Password:AUTHENTICATION COMPLETE 3) 查看日志
重启之后crontab有操作时会发现文件中出现了日志文件。
使用tail查看日志
zeroubuntu:/var/log$ tail /var/log/cron.log
Nov 22 03:10:01 ubuntu CRON[2030]: (root) CMD (test -e /run/systemd/system || SERVICE_MODE1 /sbin/e2scrub_all -A -r)
Nov 22 03:10:13 ubuntu crontab[2036]: (root) BEGIN EDIT (root)
Nov 22 03:10:25 ubuntu crontab[2036]: (root) REPLACE (root)
Nov 22 03:10:25 ubuntu crontab[2036]: (root) END EDIT (root)2.2.3 设置后之后重启服务
设置完指令之后需要重启crontab服务才能正常执行任务。
zeroubuntu:/mnt$ service cron restart # 重启服务的指令AUTHENTICATING FOR org.freedesktop.systemd1.manage-units
Authentication is required to restart cron.service.
Authenticating as: Zero (zero)
Password:AUTHENTICATION COMPLETE
zeroubuntu:/mnt$**注**亦可以通过service查看状态
zeroubuntu:/mnt$ service cron status
● cron.service - Regular background program processing daemon# 开机自启动Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)# 状态运行中Active: active (running) since Tue 2023-11-21 02:59:00 UTC; 22h agoDocs: man:cron(8)Main PID: 861 (cron)Tasks: 1 (limit: 4516)Memory: 500.0KCPU: 491msCGroup: /system.slice/cron.service└─861 /usr/sbin/cron -f -PNov 22 01:12:01 ubuntu CRON[2819]: (CRON) info (No MTA installed, discarding output)
Nov 22 01:12:01 ubuntu CRON[2819]: pam_unix(cron:session): session closed for user zero
Nov 22 01:13:01 ubuntu CRON[2829]: pam_unix(cron:session): session opened for user zero(uid1000) by (uid0)
Nov 22 01:13:01 ubuntu CRON[2830]: (zero) CMD (sudo cat test /mnt/test.txt)
Nov 22 01:13:01 ubuntu CRON[2829]: (CRON) info (No MTA installed, discarding output)
Nov 22 01:13:01 ubuntu CRON[2829]: pam_unix(cron:session): session closed for user zero
Nov 22 01:14:01 ubuntu CRON[2832]: pam_unix(cron:session): session opened for user zero(uid1000) by (uid0)
Nov 22 01:14:01 ubuntu CRON[2833]: (zero) CMD (sudo cat test /mnt/test.txt)
Nov 22 01:14:01 ubuntu CRON[2832]: (CRON) info (No MTA installed, discarding output)
Nov 22 01:14:01 ubuntu CRON[2832]: pam_unix(cron:session): session closed for user zero三、示例
3.1 每隔一分钟往文件中日期
# m h dom mon dow command
*/1 * * * * date /tmp/test.txt几分钟之后查看文件结果如下
zeroubuntu:/tmp$ cat test.txt
Wed Nov 22 02:19:01 AM UTC 2023
Wed Nov 22 02:20:01 AM UTC 2023
Wed Nov 22 02:21:01 AM UTC 2023
Wed Nov 22 02:22:01 AM UTC 2023
Wed Nov 22 02:23:02 AM UTC 2023
Wed Nov 22 02:24:01 AM UTC 2023
Wed Nov 22 02:25:01 AM UTC 2023
Wed Nov 22 02:26:01 AM UTC 2023
Wed Nov 22 02:27:01 AM UTC 2023
Wed Nov 22 02:28:01 AM UTC 2023**注**所操作的文件需要具有权限。
3.2 使用-l查看任务列表
使用-l可以直接查看具体的任务注意任务是按照用户划分的不同用户查看具有不一样的结果 这是默认用户查看
zeroubuntu:/tmp$ crontab -l
40 10 * * * sudo shutdown -h now这是以管理员权限查看
zeroubuntu:/tmp$ sudo crontab -l
# m h dom mon dow command管理员是空的。
3.3 使用-r删除所有任务
使用-r参数会删除crontab中的所有的任务清单。 删除后再次查看就会提示没有任何任务。
zeroubuntu:/tmp$ crontab -r
zeroubuntu:/tmp$ crontab -l
no crontab for zero3.4 设置定时关机
关机需要使用root权限设置时需要用sudo切换权限。
zeroubuntu:~$ sudo crontab -l关机指令如下
# 分 时8 4 * * * shutdown -h now总结
使用crontab可以便捷的设置定时任务有助于执行一些定时任务指令也可以通过脚本这样可以一次执行多个指令并进行一些比较复杂的操作。