linux 计划任务和DHCP
计划任务
计划任务可以让Linux系统在无人为干预的情况下,在指定的时间执行某些命令或重启服务等,分为两种情况:一次性计划任务和长期性计划任务。顾名思义,一次性任务只执行一次,然后就会自动删除该任务,而长期行任务是为了周期性、有规律的执行某些命令或任务。
一次性任务
使用at + [时间] 的形式来设置。另外at -l可查看已经设置、但是还没执行的一次性任务,atrm + [编号] 可以将其删除,at -c + [编号] 可以查看任务的具体信息,显示在输出结果的最后边。
例、设置今天20:20自动重启httpd服务。
[root@localhost ~]# at 20:20
at> systemctl restart https
at>
#此处Ctrl + D保存计划任务并退出。
可执行at -l 命令查询计划任务。 可执行atrm [编号]来删除计划任务。
[root@localhost ~]# at 20:00 2025-10-1
#在2020-10-1 20:00执行 at
[root@localhost ~]# at now +l0minat
#在10分钟以后执行 at
[root@localhost ~]# at 18:00 tomorrow
#在明天下午6点执行 at
[root@localhost ~]# at 6:00pm +3days
#在3天后的下午6点执行 at
周期性任务
Linux系统中默认启用的crond服务来设置周期性任务,crontab -e 命令可以创建、编辑计划任务,crontab -l 查看当前计划任务,删除计划任务,root管理员可以使用crontab -u 编辑他人的计划任务。
安装crontabls# yum install crontabs
设置开机自启 # systemctl enable crond
开启服务# systemctl start crond
停止关闭# systemctl stop crond
使用crontab -e创建一个计划任务的时候会进入vim编辑器,可写多行,但每行仅写一条。注意书写格式,格式为 分、时、日、月、星期 命令,中间用空格隔开,没有的时间段需要使用星号()占位。要注意的是,计划任务中的“分”字段必须有数值,不能为空或是号,而“日”和“星期”也不能同时使用。可以用逗号(,)来分别表示多个时间段,也可以用减号(-)来表示一段连续的时间周期(例如字段“日”的取值为“10-13”,则表示每月的10~13日)。以及用除号(/)表示执行任务的间隔时间(例如“*/5”表示每隔5分钟执行一次任务)。
# 例1、每周二、四、五、六 的17:24,将/var/log目录进行打包并放入/tmp目录中。
[root@mylinux_01 ~]# crontab -e
24 17 * * 2,4,5,6 /usr/bin/tar -czvf /tmp/log.tar.gz /var/log
# 例2、每分钟执行下abc.sh(abc.sh有可执行权限)
[root@mylinux_01 ~]# crontab -e
*/1 * * * * /root/abc.sh
录入结束后使用,保存退出
动态地址分配DHCP
DHCP是一种基于UDP协议且仅限于在局域网内部使用的网络协议,主要用于大型的局域网环境或者存在较多移动办公设备的环境中,其主要用途是为局域网内部的设备自动分配IP地址等参数。
在配置DHCP服务之前必须先安装dhcpd服务程序,dhcpd服务程序的软件包在yum仓库中名为dhcp-server。使用命令# yum install -y dhcp-server.x86_64 安装服务。
安装好后需要对此服务进行配置,配置文件位置:/etc/dhcp/dhcpd.conf
配置参数:
序号 | 参数 | 作用 |
---|---|---|
1 | ddns-update-style [类型] | 定义DNS服务动态更新的类型,类型包括none(不支持动态更新)、interim(互动更新模式)与ad-hoc(特殊更新模式) |
2 | [allow | ignore] client-updates |
3 | default-lease-time [21600] | 默认超时时间 |
4 | max-lease-time [43200] | 最大超时时间 |
5 | option domain-name-servers [8.8.8.8] | 定义DNS服务器地址 |
6 | option domain-name ["domain.org"] | 定义DNS域名 |
7 | range | 定义用于分配的IP地址池 |
8 | option subnet-mask | 定义客户端的子网掩码 |
9 | option routers | 定义客户端的网关地址 |
10 | broadcase-address[广播地址] | 定义客户端的广播地址 |
11 | ntp-server[IP地址] | 定义客户端的网络时间服务器(NTP) |
12 | nis-servers[IP地址] | 定义客户端的NIS域服务器的地址 |
13 | Hardware[网卡物理地址] | 指定网卡接口的类型与MAC地址 |
14 | server-name[主机名] | 向DHCP客户端通知DHCP服务器的主机名 |
15 | fixed-address[IP地址] | 将某个固定的IP地址分配给指定主机 |
16 | time-offset[偏移误差] | 指定客户端与格林尼治时间的偏移差 |
编写配置
[root@mylinux ~]# vim /etc/dhcp/dhcpd.conf
ddns-update-style none;
ignore client-updates;
subnet 192.168.20.0 netmask 255.255.255.0 {
range 192.168.20.100 192.168.20.150;
option subnet-mask 255.255.255.0;
option routers 192.168.20.1;
option domain-name "mylinux.com";
option domain-name-servers 192.168.20.1;
default-lease-time 3600;
max-lease-time 36000;
}
配置完毕后重启dhcp服务并加入开机自启,然后就可以在另外一台虚拟机中重启网卡进行验证,看是否能自动获取到IP且在192.168.20.100和192.168.20.150之间。
[root@mylinux ~]# systemctl restart dhcpd
[root@mylinux ~]# systemctl enable dhcpd
分配固定IP
如果需要局域网中某个设备总是获取到固定的IP地址,就需要把IP地址这台主机的MAC地址进行绑定,在DHCP协议中称之为“预约”,MAC地址是网卡上面的一串独立的标识符,真实主机的MAC地址是唯一的。在终端中执行ifconfig命令可输出当前的网卡信息,其中有类似于ether 00:0c:29:35:60:e1的信息,后边用冒号隔开的就是MAC地址。分配固定IP时,只需要在上一步的配置文件中加入相关参数就可以。如下,我们为MAC地址为00:0c:29:d6:e0:a2的设备分配固定IP 192.168.20.146,配置完毕,重启服务器的dhcp服务,再重启客户机的网卡,就可以看到客户机的IP地址已经变更为我们制定的固定IP。
ddns-update-style none;
ignore client-updates;
subnet 192.168.20.0 netmask 255.255.255.0 {
range 192.168.20.120 192.168.20.150;
option subnet-mask 255.25.255.0;
option routers 192.168.20.1;
option domain-name "mylinux.com";
option domain-name-servers 192.168.20.1;
default-lease-time 3600;
max-lease-time 36000;
host mylinux {
hardware ethernet 00:0c:29:d6:e0:a2;
fixed-address 192.168.20.146;
}
}
- 上一篇: Linux安装Oracle19c
- 下一篇: Ubuntu网络配置
叼茂SEO.bfbikes.com
怎么收藏这篇文章?
看的我热血沸腾啊https://www.ea55.com/
想想你的文章写的特别好www.jiwenlaw.com