linux任务计划cron
linux任务计划cron
1.crontab命令任务计划配置文件
[root@bogon ~]# cat /etc/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 executed [root@bogon ~]#
2.编辑计划任务crontab -e
[root@bogon ~]# crontab -e
3. 每天三点执行并把正确的和错误的输出到123.log文件中 0 3 * * * /bin/bash /usr/loacl/sbin/123.sh >/tmp/123.log 2>/tmp/123.log,如果是追加将>改成>>会将每天的输出以追加的方式写入文件
4.一号到十号的三点执行0 3 1-10 * * /bin/bash /usr/loacl/sbin/123.sh >/tmp/123.log 2>/tmp/123.log
5.一号到十号的每两个月(能被2整除的月份)三点执行0 3 1-10 */2 * /bin/bash /usr/loacl/sbin/123.sh >/tmp/123.log 2>/tmp/123.log
6.一号到十号的每两个月(能被2整除的月份)的周二和周五三点执行0 3 1-10 */2 2,5 /bin/bash /usr/loacl/sbin/123.sh >/tmp/123.log 2>/tmp/123.log
7.启动并查看crond服务
[root@sunyujun01 ~]# systemctl start crond [root@sunyujun01 ~]# ps aux|grep crond root 1393 0.0 0.0 124144 508 ? Ss 09:44 0:00 /usr/sbin/crond -n root 16427 0.0 0.0 112672 972 pts/2 R+ 11:55 0:00 grep --color=auto crond [root@sunyujun01 ~]#
8.也可以用systemctl status crond命令查看crond启动状态
[root@sunyujun01 ~]# systemctl status crond ● crond.service - Command Scheduler Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled) Active: active (running) since 三 2018-01-24 09:44:22 CST; 3h 26min ago Main PID: 1393 (crond) CGroup: /system.slice/crond.service └─1393 /usr/sbin/crond -n 1月 24 09:44:22 localhost.localdomain systemd[1]: Started Command Scheduler. 1月 24 09:44:22 localhost.localdomain systemd[1]: Starting Command Scheduler... 1月 24 09:44:23 localhost.localdomain crond[1393]: (CRON) INFO (Syslog will ... 1月 24 09:44:23 localhost.localdomain crond[1393]: (CRON) INFO (RANDOM_DELAY... 1月 24 09:44:23 localhost.localdomain crond[1393]: (CRON) INFO (running with... Hint: Some lines were ellipsized, use -l to show in full. [root@sunyujun01 ~]#
9.停掉crond
[root@sunyujun01 ~]# systemctl stop crond
10.如果脚步中的命令没有执行,可能是命令没有加入到crond变量里面,也可以直接写绝对路径
11.这个文件的内容是crontab -l列出来的计划任务列表,如果备份的话直接拷贝这个文件就行
[root@sunyujun01 ~]# cat /var/spool/cron/root
12.crontab -r 删除
chkconfig工具
1.chkconfig --list查看使用chkconfig工具的服务
[root@sunyujun01 ~]# chkconfig --list 注意:该输出结果只显示 SysV 服务,并不包含原生 systemd 服务。SysV 配置数据可能被原生 systemd 配置覆盖。 如果您想列出 systemd 服务,请执行 'systemctl list-unit-files'。 欲查看对特定 target 启用的服务请执行 'systemctl list-dependencies [target]'。 mysql 0:关 1:关 2:开 3:开 4:开 5:开 6:关 netconsole 0:关 1:关 2:关 3:关 4:关 5:关 6:关 network 0:关 1:关 2:开 3:开 4:开 5:开 6:关 nginx 0:关 1:关 2:开 3:开 4:开 5:开 6:关 php-fpm 0:关 1:关 2:开 3:开 4:开 5:开 6:关 [root@sunyujun01 ~]#
2.对应的服务都在/etc/init.d/目录下
[root@sunyujun01 ~]# ls /etc/init.d/ functions mysql netconsole network nginx php-fpm README [root@sunyujun01 ~]#
3.关闭network服务 chkconfig network off
[root@sunyujun01 ~]# chkconfig network off
[root@sunyujun01 ~]# chkconfig --list 注意:该输出结果只显示 SysV 服务,并不包含原生 systemd 服务。SysV 配置数据可能被原生 systemd 配置覆盖。 如果您想列出 systemd 服务,请执行 'systemctl list-unit-files'。 欲查看对特定 target 启用的服务请执行 'systemctl list-dependencies [target]'。 mysql 0:关 1:关 2:开 3:开 4:开 5:开 6:关 netconsole 0:关 1:关 2:关 3:关 4:关 5:关 6:关 network 0:关 1:关 2:关 3:关 4:关 5:关 6:关 nginx 0:关 1:关 2:开 3:开 4:开 5:开 6:关 php-fpm 0:关 1:关 2:开 3:开 4:开 5:开 6:关 [root@sunyujun01 ~]#
4.network的6个级别都变成关闭状态了
5.重新启动network
0 停机 1 单用户模式 2 多用户,没有 NFS 3 完全多用户模式 4 没有用到 5 图形界面 6 重新启动 S s Single user mode
[root@sunyujun01 ~]# chkconfig network on [root@sunyujun01 ~]# chkconfig --list 注意:该输出结果只显示 SysV 服务,并不包含原生 systemd 服务。SysV 配置数据可能被原生 systemd 配置覆盖。 如果您想列出 systemd 服务,请执行 'systemctl list-unit-files'。 欲查看对特定 target 启用的服务请执行 'systemctl list-dependencies [target]'。 mysql 0:关 1:关 2:开 3:开 4:开 5:开 6:关 netconsole 0:关 1:关 2:关 3:关 4:关 5:关 6:关 network 0:关 1:关 2:开 3:开 4:开 5:开 6:关 nginx 0:关 1:关 2:开 3:开 4:开 5:开 6:关 php-fpm 0:关 1:关 2:开 3:开 4:开 5:开 6:关 [root@sunyujun01 ~]#
6.在centos7之前的版本可以通过编辑文件定义系统级别
[root@sunyujun01 ~]# vim /etc/inittab
7. 设定某个运行级别开关
[root@sunyujun01 ~]# chkconfig --level 3 network off
8.也可以写多个345
[root@sunyujun01 ~]# chkconfig --level 345 network off
9.将123服务添加到服务中
[root@sunyujun01 init.d]# cp network 123^C [root@sunyujun01 init.d]# ls -l 总用量 60 -rwxr-xr-x 1 root root 6630 1月 24 14:17 123 -rw-r--r--. 1 root root 13948 9月 16 2015 functions -rwxr-xr-x. 1 root root 10880 2月 10 2017 mysql -rwxr-xr-x. 1 root root 2989 9月 16 2015 netconsole -rwxr-xr-x. 1 root root 6630 9月 16 2015 network -rwxr-xr-x. 1 root root 2652 2月 10 2017 nginx -rwxr-xr-x. 1 root root 2401 2月 10 2017 php-fpm -rw-r--r--. 1 root root 1160 11月 22 2016 README [root@sunyujun01 init.d]# chkconfig --list 注意:该输出结果只显示 SysV 服务,并不包含原生 systemd 服务。SysV 配置数据可能被原生 systemd 配置覆盖。 如果您想列出 systemd 服务,请执行 'systemctl list-unit-files'。 欲查看对特定 target 启用的服务请执行 'systemctl list-dependencies [target]'。 mysql 0:关 1:关 2:开 3:开 4:开 5:开 6:关 netconsole 0:关 1:关 2:关 3:关 4:关 5:关 6:关 network 0:关 1:关 2:开 3:开 4:开 5:开 6:关 nginx 0:关 1:关 2:开 3:开 4:开 5:开 6:关 php-fpm 0:关 1:关 2:开 3:开 4:开 5:开 6:关 [root@sunyujun01 init.d]# chkconfig --add 123 [root@sunyujun01 init.d]# chkconfig --list 注意:该输出结果只显示 SysV 服务,并不包含原生 systemd 服务。SysV 配置数据可能被原生 systemd 配置覆盖。 如果您想列出 systemd 服务,请执行 'systemctl list-unit-files'。 欲查看对特定 target 启用的服务请执行 'systemctl list-dependencies [target]'。 123 0:关 1:关 2:开 3:开 4:开 5:开 6:关 mysql 0:关 1:关 2:开 3:开 4:开 5:开 6:关 netconsole 0:关 1:关 2:关 3:关 4:关 5:关 6:关 network 0:关 1:关 2:开 3:开 4:开 5:开 6:关 nginx 0:关 1:关 2:开 3:开 4:开 5:开 6:关 php-fpm 0:关 1:关 2:开 3:开 4:开 5:开 6:关 [root@sunyujun01 init.d]#
10.删除一个服务
[root@sunyujun01 init.d]# chkconfig --del 123 [root@sunyujun01 init.d]#
systemd管理服务
1.列出所有service服务,如果想列出所有用systemctl list-unit-files
[root@sunyujun01 init.d]# systemctl list-units -all --type=service
unit介绍
1.7个运行级别一一对应的软连接
[root@sunyujun01 system]# ls -l runlevel* lrwxrwxrwx. 1 root root 15 2月 10 2017 runlevel0.target -> poweroff.target lrwxrwxrwx. 1 root root 13 2月 10 2017 runlevel1.target -> rescue.target lrwxrwxrwx. 1 root root 17 2月 10 2017 runlevel2.target -> multi-user.target lrwxrwxrwx. 1 root root 17 2月 10 2017 runlevel3.target -> multi-user.target lrwxrwxrwx. 1 root root 17 2月 10 2017 runlevel4.target -> multi-user.target lrwxrwxrwx. 1 root root 16 2月 10 2017 runlevel5.target -> graphical.target lrwxrwxrwx. 1 root root 13 2月 10 2017 runlevel6.target -> reboot.target
target介绍(一个target是多个unit的组合)