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, 计划任务

文章作者: XiaoAnBlog
文章链接: http://ds.bhswl.cn/index.php/archives/32/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 XiaoAn Blog

已有 4 条评论

  1. 叼茂SEO.bfbikes.com

  2. 怎么收藏这篇文章?

  3. 看的我热血沸腾啊https://www.ea55.com/

  4. 想想你的文章写的特别好www.jiwenlaw.com

添加新评论