linux任务计划cron

时间:2022-08-13 14:20:44

 

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变量里面,也可以直接写绝对路径

linux任务计划cron

11.这个文件的内容是crontab -l列出来的计划任务列表,如果备份的话直接拷贝这个文件就行

[root@sunyujun01 ~]# cat /var/spool/cron/root

12.crontab -r 删除

chkconfig工具

linux任务计划cron

 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管理服务

 linux任务计划cron

1.列出所有service服务,如果想列出所有用systemctl list-unit-files

[root@sunyujun01 init.d]# systemctl list-units -all --type=service

unit介绍

linux任务计划cron

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

 

linux任务计划cron

target介绍(一个target是多个unit的组合)

linux任务计划cron