linux计划任默认开机关闭,linux任务计划, chkconfig工具,systemd管理服务, unit介绍,target介绍...

本文详细介绍了Linux的Crontab命令用于定时任务调度的使用,包括时间格式、命令配置以及如何查看、编辑、删除任务。此外,还讲解了Linux服务的管理,如启动、停止、重启服务,以及使用chkconfig和systemctl工具进行服务的启用、禁用和状态查询。最后,提到了systemd系统服务管理和自定义启动脚本的创建。
摘要由CSDN通过智能技术生成

linux任务计划:

ca933d46cc1de7e946bf5d44c2bdc3f4.png

一.  Crontab 介绍

crontab命令的功能是在一定的时间间隔调度一些命令的执行。

二.查看/etc/crontab文件

vi  /etc/crontab

2b6e2d61b72876620ad76909a5050771.png

三.文件/etc/crontab中每行任务的描述格式如下:

minute hour day month dayofweek command

minute - 从0到59的整数

hour - 从0到23的整数

day - 从1到31的整数 (必须是指定月份的有效日期)

month - 从1到12的整数 (或如Jan或Feb简写的月份)

dayofweek - 从0到7的整数,0或7用来描述周日 (或用Sun或Mon简写来表示)

command - 需要执行的命令(可用as ls /proc >> /tmp/proc或 执行自定义脚本的命令)

root表示以root用户身份来运行

run-parts表示后面跟着的是一个文件夹,要执行的是该文件夹下的所有脚本

对于以上各语句,星号(*)表示所有可用的值。例如*在指代month时表示每月执行(需要符合其他限制条件)该命令。

整数间的连字号(-)表示整数列,例如1-4意思是整数1,2,3,4  (范围)

指定数值由逗号分开。如:3,4,6,8表示这四个指定整数。(指定某几个数字)

符号“/”指定步进设置。“/”表示步进值。如0-59/2定义每两分钟执行一次。步进值也可用星号表示。如*/3用来运行每三个月份运行指定任务。

以“#”开头的为注释行,不会被执行。

4.范围

1720d4a1e81234a1c8b0695d0a1f6473.png

可用格式1-5表示一个范围1到5

可用格式1,2,3表示1或者2或者3

可用格式*/2表示被2整除的数字,比如小时,那就是每隔2小时

crontab -u、-e、-l、-r    编辑需要配置的文件  -l=查询任务计划   -r=删除计划    -u=指定用户     -e=进入编辑模式

75413eb8db3a050196c773e7efef0582.png

0dcd4259b121a7125442f86de6447303.png

5.启动服务

sbin/service crond start //启动服务       =    systemctl start crond

/sbin/service crond stop //关闭服务      =    systemctl stop crond

/sbin/service crond restart //重启服务   =    systemctl  restart crond

/sbin/service crond reload //重新载入配置

b0ae0a66bd2a9f0542fa16b46013471b.png

chkconfig工具:

6ec16771658c1cb3fc7976e4db3c127f.png

chkconfig --list    查看系统服务

594343ba46eb8c251fbc44127bd05d13.png

chkconfig --level 3network off    指定某个服务在开机系统关闭或者开启  off=关闭 on=开启

24e32280fa97faf40a06d6a126facd69.png

chkconfig --add 123   把脚本添加到系统服务里面去

e5ed86343b4cade55d717b86418a2448.png

首先,把脚本添加到 /etc/init.d/ 目录里面去,然后就可以添加服务了。(被添加的服务必须是一个脚本)

ea97378cbb893cbb754dd65ea55b6ca0.png

chkconfig --del    删除系统服务

7d1e904a98f52d8e98928d4c865e70f5.png

systemd系统服务管理:

dcbb86e41275cf910a25b61d7f9ba72f.png

systemctl list-units --all --type=service    列出系统所有服务

systemctl enable crond.service //让服务开机启动     crond =服务的名称

systemctl disable crond //不让开机启动

systemctl status crond //查看状态

systemctl stop crond //停止服务

systemctl start crond //启动服务

systemctl restart crond //重启服务

systemctl is-enabled crond //检查服务是否开机启动

unit介绍:

2860ca7e6b8d6e703d3c3bd8ee41b166.png

39e10fccfbe751e7982d0f9705039f32.png

unit相关的命令

systemctl list-units //列出正在运行的unit

systemctl list-units --all //列出所有,包括失败的或者inactive的

systemctl list-units --all --state=inactive //列出inactive的unit    (指定状态)

systemctl list-units --type=service//列出状态为active的service

systemctl is-active crond.service //查看某个服务是否为active

target介绍:

7e5153ba9c8743ab3d7037a727823161.png

系统为了方便管理用target来管理unit

systemctl list-unit-files --type=target    列出系统下的target

systemctl list-dependencies multi-user.target //查看指定target下面有哪些unit

systemctl get-default //查看系统默认的target

systemctl set-default multi-user.target

一个service属于一种类型的unit

多个unit组成了一个target

一个target里面包含了多个service

cat /usr/lib/systemd/system/sshd.service //看[install]部分

扩展

1. anacron

1785327http://blog.csdn.net/strikers1982/article/details/4787226

2. xinetd服(默认机器没有安装这个服务,需要yum install xinetd安装)

1785327http://blog.sina.com.cn/s/blog_465bbe6b010000vi.html

3. systemd自定义启动脚本

1785327http://www.jb51.net/article/100457.htm

### 回答1: 要设置Linux系统中Redis开机自启动,可以通过编写一个自定义的systemd服务单元来实现,不需要使用chkconfig命令。以下是具体的步骤: 1. 创建Redis systemd服务单元的配置文件。打开一个文本编辑器,例如vi或nano,并创建一个名为redis.service的文件。 ```shell sudo vi /etc/systemd/system/redis.service ``` 2. 在redis.service文件中粘贴以下内容: ```shell [Unit] Description=Redis Server After=network.target [Service] ExecStart=/usr/local/bin/redis-server /etc/redis.conf ExecStop=/usr/local/bin/redis-cli shutdown User=redis Group=redis Restart=always [Install] WantedBy=multi-user.target ``` 请确保ExecStart的路径和参数与你的实际配置相匹配。上面的示例假定Redis的可执行文件为/usr/local/bin/redis-server,配置文件为/etc/redis.conf。 3. 保存并关闭文件。 4. 启用Redis服务。输入以下命令以启用自定义的Redis服务: ```shell sudo systemctl enable redis.service ``` 5. 启动Redis服务。输入以下命令以启动Redis服务: ```shell sudo systemctl start redis.service ``` 现在,Redis将在系统启动时自动启动。你可以使用以下命令来验证它的状态: ```shell sudo systemctl status redis.service ``` 该命令将显示Redis服务的当前状态信息。 通过编写自定义的systemd服务单元,你可以实现Linux系统中Redis开机自启动,而无需使用chkconfig命令。 ### 回答2: 要在Linux上设置Redis开机自启动,而不使用chkconfig,可以使用以下步骤: 1. 打开终端并切换到root用户。 2. 进入Redis安装目录,通常为"/usr/local/redis"。 3. 在该目录下创建一个名为"redis.service"的文件,可以使用vi或任何文本编辑器进行创建。 4. 在"redis.service"文件中输入以下内容: ``` [Unit] Description=Redis service After=network.target [Service] ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf ExecStop=/usr/local/redis/bin/redis-cli shutdown [Install] WantedBy=default.target ``` 上述配置中,需要根据实际安装路径和redis.conf文件位置进行修改。 5. 保存并关闭文件。 6. 运行以下命令将该服务加入到系统服务中: ``` systemctl enable /usr/local/redis/redis.service ``` 7. 接下来,即可使用以下命令来启动、停止或重新启动Redis服务: ``` systemctl start redis systemctl stop redis systemctl restart redis ``` 这样,Redis将会在系统启动时自动启动,并且可以使用systemctl命令来管理Redis服务
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值