linux的计划任务,也叫做定时任务
- 查看linux本机的定时任务
crontab -l #查看计划任务
- 编写自己的计划任务
crontab -e #编辑计划任务
删除任务调度工作
crontab -r //删除所有任务调度工作-
学习计划任务的语法格式
分 时 日 月 周 命令绝对路径
[root@mrcarzy-pc etc]# vim crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root # For details see man 4 crontabs # Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executedminute: 表示分钟,可以是从0到59之间的任何整数。
hour:表示小时,可以是从0到23之间的任何整数。
day:表示日期,可以是从1到31之间的任何整数。
month:表示月份,可以是从1到12之间的任何整数。
week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
特殊字符:
星号(*):代表每的意思,例如month字段如果是星号,则表示每月都执行该命令操作。
逗号(,):表示分隔时段的意思,例如,“1,3,5,7,9”。
中杠(-):表示一个时间范围,例如“2-6”表示“2,3,4,5,6”。
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
-
每分钟执行一次命令
分 时 日 月 周 命令绝对路径
* * * * * 命令
-
每小时的3,15分组执行命令
分 时 日 月 周 命令绝对路径
3,15 * * * * 命令绝对路径
#在下午8-11点的第3和第15分钟执行
分 时 日 月 周 命令绝对路径
3,15 20-23 * * *
#每晚21:30执行命令
分 时 日 月 周 命令绝对路径
30 21 * * *
#每周六、日的下午1:30执行命令
分 时 日 月 周 命令绝对路径
30 13 * * 6,7
#每周一到周五的凌晨1点整,清空/tmp目录的所有文件
分 时 日 月 周 命令绝对路径
0 1 * * 1-5 /usr/bin/rm -rf /tmp/*
#每晚的21:30重启nginx
分 时 日 月 周 命令绝对路径
30 21 * 3 * 命令绝对路径
#每月的1,10,22日的4:45重启nginx
分 时 日 月 周 命令绝对路径
45 4 1,10,22 * * systemctl reload nginx
#每个星期一的上午8点到11点的第3和15分钟执行命令
分 时 日 月 周 命令绝对路径
3,15 8-11 * * 1
##每月每天凌晨3点30分和中午12点20分执行test.sh脚本
30 3,12 * * * /home/test.sh
##每月每天每隔6小时的每30分钟执行test.sh脚本
30 */6 * * * /home/test.sh
##每月每天早上8点到下午18点每隔2小时的每30分钟执行test.sh脚本
30 8-18/2 * * * /etc/init.d/network restart
##每月每天晚上21点30分执行test.sh脚本
30 21 * * * /etc/init.d/network restart
##每月1号、10号、22号凌晨4点45分执行test.sh脚本
45 4 1,10,22 * * /etc/init.d/network restart
##8月份周一、周日凌晨1点10分执行test.sh脚本
10 1 * 8 6,0 /etc/init.d/network restart
##每月每天每小时整点执行test.sh脚本
00 */1 * * * /etc/init.d/network restart
linux系统服务管理命令
-
系统服务(linux安装的软件名)
只有通过yum安装的软件,才能用这个命令
systemctl 这是centos7系类的命令
service 这是centos6系统的服务管理命令
-
实例:(只有yum安装的才能使用这个命令)
- 启停管理nginx服务
systemctl status/start/stop nginx
错误处理:
出现 there are stopped jobs
错误:
在shell中输入命令
jobs
可以查看停止进程列表
obs -l
显示停止进程的详细列表可以通过如下命令杀死或者激活停止的进程:
杀死:
kill %1
(%1是将要被杀死的job的进程号)激活:
fg %1
(%1是将要被激活的job的进程号) fg代表foreground(前台),可以唤醒被suspended(挂起)的进程