重庆网站建设的公司哪家好,wordpress网站恢复,凡客诚品网,wordpress登陆后跳转引言
crond 的概念和 crontab 是不可分割的。crontab 是一个命令#xff0c;而 crond 是Linux 下用来周期性执行某种任务或等待处理某些事件的守护进程#xff0c;类似于 Windows 下的计划任务。
当装完操作系统之后#xff0c;默认便会安装 crond 服务工具#xff0c;并…引言
crond 的概念和 crontab 是不可分割的。crontab 是一个命令而 crond 是Linux 下用来周期性执行某种任务或等待处理某些事件的守护进程类似于 Windows 下的计划任务。
当装完操作系统之后默认便会安装 crond 服务工具并会自动启动 crond 进程crond 进程每分钟定期检查是否有要执行的任务如果有要执行的任务则自动执行该任务。
Linux 下的定时任务种类
种类使用场景at适合仅执行一次就结束的调度命令需要启动一个后端的atd服务。 crontab最常用的定时任务需要启动一个服务crond才行crond服务通过crontab命令实现 anacron无法周期性执行只能以天为周期但有个特点在关机状态下未执行的任务下次开机时可以补上执行
crontab 工作原理
在 Linux 中crontab 是最常用的定时任务工具系统会每分钟循环检查任务列表默认系统中可以登录的用户都可以使用 crontab 定义计划任务。另外还可以通过 /etc/cron.allow 文件来限制权限。
系统任务调度和用户任务调度
crontab 设置定时任务可以分为两类
系统任务调度指的是系统级别的周期性任务如定期写磁盘、日志清理。/etc/crontab 文件就是系统任务调度的配置文件。 用户任务调度通过 crontab -e 进行编写的任务都属于用户任务调度这类任务可以包括用户数据备份、定时邮件提醒等。Linux 系统会将所有用户设置的定时任务存放到 /var/spool/cron 目录中文件名与用户名一致 执行 crontab -r 后即直接删除用户 crontab 文件 cron 表达式
【基本含义】
项目含义范围第一个*一小时当中的第几分钟0-59第二个*一天当中的第几小时0-23第三个*一个月当中的第几天1-31第四个*一年当中的第几月1-12第五个*一周当中的星期几0-70和7 都代表星期日
【特殊符号含义】
特殊符号含义*任何时间。如第一个 * 代表每分钟都执行。不连续的时间如0 8,12 * * * 表示每天8:00和12:00各执行一次。-连续的时间段如0 5 * * 1-6表示每周一到周六的5:00执行。/间隔时间如*/10 * * * * , 表示每隔 10 分钟执行一次不看时间点。
crontab 基本应用
【语法】 crontab [-u user] [ -e | -l | -r ] 【常用参数】 -e 编辑 crontab 定时任务 -l 查询crontab 定时任务 -r 删除当前用户所有的 crontab 任务终止任务调度 【服务操作】 service crond restart 或 /sbin/service crond restart 重启任务调度服务 service crond stop 关闭服务 service crond start 启动服务 service crond reload 重新载入配置 查看crontab 运行日志
在 /var/log/cron-日期 文件中可以看到定时任务的执行情况 应用案例1
【案例要求】将 /etc 目录下的文件列表每分钟追加到 /tmp/to.txt 文件中。
【操作步骤】 1 cron -e 2 */1 * * * * ls -l /etc /tmp/to.txt 3保存退出即可生效 应用案例2
【案例要求】每天凌晨2点将mysql数据库testdb备份到文件mydb.bak中 1先编写一个脚本文件/home/mytask3.sh /usr/local/mysql/bin/mysqldump -u root -proot testdb /tmp/mydb.bak 2给mytask3.sh 一个可执行权限 chmod 744 /home/mytask3.sh 3crontab -e 40 2 * * * /home/mytask3.sh 【注意】如果直接执行类似 * * * * * ls /home 或 * * * * * echo hello world 这样的任务Linux会每分钟发一封邮件给当前用户。保存在 /var/spool/mail/root 中。