shell中系统任务设置
1、系统启动流程
启动计算机的硬件(BIOS)
读取时间
选择对应的启动模式(USB HDD EFI)
如果是Linux系统,回去找/boot目录.引导这个系统启动
计算机系统开始启动,读取初始化配置文件
vim /etc/inittab
启动时控制着计算机的运行级别 runlevel
1 | Single user mode(单用户模式) |
---|---|
0 | halt(关机) |
2 | Multiuser, without NFS(多用户模式,但是无网络状态) FS-->FileSystem |
3 | Full multiuser mode(多用户完整版模式) |
4 | unused (保留模式) |
5 | X11(用户界面模式) |
6 | reboot(重启模式) |
id:3:initdefault: 默认runlevel为3
以runlevel=3开始启动对应的服务和组件
开始默认引导公共的组件或者服务
vim /etc/rc.d/rc.sysinit
开始加载对应runlevel的服务
vi /etc/rc3.d/
K:关机时需要关闭的服务
S:启动时需要开启的服务
数字代表了开启或者关闭的顺序
所有的文件都是软链接,链接的地址为 /etc/init.d
当启动完毕,所有的服务也被加载完成
2、系统服务
我们可以使用chkconfig命令查看当前虚拟机的服务
通过查看可以得知不同的级别对应到每一个服务确定本次开机自动启动
开机结束后,我们需要使用service(Centos6)Systemctl(Centos7)命令控制服务的开启或者关闭
3、 开机自启动服务
rc.local
首先创建脚本存放的文件夹
mkdir -p /usr/local/scripts
在文件夹中创建脚本文件
vim hello.sh
给予执行权限
去/etc/rc.d/rc.local文件中添加脚本的绝对路径
给予rc.local执行权限
创建一个文件夹
mkdir /usr/local/soft/ceshitest
重启虚拟机
reboot
chkconfig
创建开机自启动脚本文件
vim schoolntpdate.sh
#!/bin/bash
#chkconfig: 2345 88 99
#description:auto_run
# 开机创建文件夹
mkdir /usr/local/soft/ceshitest2
给其设置执行权限
chmod u+x schoolntpdate.sh
将脚本拷贝到 /etc/init.d 下
cp schoolntpdate.sh /etc/init.d/
添加到服务
chkconfig --add /etc/init.d/schoolntpdate.sh
重启服务器
reboot
4、定时任务
在linux中最小时间是到分钟的
在系统服务中心,crond负责周期任务
systemctl status crond.service
添加任务,编辑当前用户的任务列表
crontab -e
编辑任务
星 星 星 星 星 command
* * * * * ......
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */2表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
*:表示任意时间都,实际上就是“每”的意思。可以代表00-23小时或者00-12每月或者00-59分
-:表示区间,是一个范围,00 17-19 * * * cmd,就是每天17,18,19点的整点执行命令
,:是分割时段,30 3,19,21 * * * cmd,就是每天凌晨3和晚上19,21点的半点时刻执行命令
/n:表示分割,可以看成除法,*/5 * * * * cmd,每隔五分钟执行一次
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重启apache。
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重启apache。
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每周六、周日的1 : 10重启apache。
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每星期六的11 : 00 pm重启apache。
* */2 * * * /usr/local/etc/rc.d/lighttpd restart
每两小时重启apache
* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11点到早上7点之间,每隔一小时重启apache
0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
每月的4号与每周一到周三的11点重启apache
0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
一月一号的4点重启apache
需求:每分钟要干一些事情
*/1 * * * *
--(功能描述:显示年月日时分秒)
date "+%Y%m%d%H%M%S"
重启crontab,使配置生效
systemctl restart crond.service
通过crontab -l
查看当前的定时任务
清除任务
crontab -r
标签:shell,etc,任务,usr,设置,rc,apache,local,restart From: https://www.cnblogs.com/xiaoxiao-/p/16593914.html