51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Centos6定时开启或关闭网卡Shell脚本

概述

由于其他原因需在指定时间范围内关闭网卡及指定日期内开启网卡恢复正常网络通信,故编写了一个Shell脚本。

脚本内容

此脚本仅供参考,适用于Centos6环境, 未适配7

#!/bin/bash
# 定时停止或启用网卡
# Author: admin@lolicp.com
# Version: 0.0.1
# Date: 2021-06-28

定义系统变量
======



PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/collect/.local/bin:/collect/bin:/bin:/sbin


获取当前系统版本
========



System_Release=`sed -n 's/.*release[[:space:]]\([0-9]\)\.[0-9].*/\1/p' /etc/redhat-release`


获取当前网卡名称
========



if_Name=`route -n |awk '/^0.0.0.0/ {print $8}'`


if \[ "${System_Release}" -eq 7 \];then
Server_IP_Address=`ifconfig "${if_Name}" |awk '/inet / {print $2}'`
elif \[ "${System_Release}" -eq 6 \];then
Server_IP_Address=`ifconfig "${if_Name}" |awk '/inet / {print $2}' |sed -n 's/.*:\(.*\)/\1/p'`
elif \[ "${System_Release}" -eq 5 \];then
echo "当前不支持Centos 5"
else
echo "当前获取信息失败"
fi


判断网卡名称文件是否输出
============



if \[ ! -f "/tmp/If_Name" \];then
echo "${if_Name}" \> /tmp/If_Name
fi


To_Date=`date "+%Y%m%d%H%M"`


获取关闭时网卡名称
=========



New_If_Name=`cat /tmp/If_Name`


大于该时间
=====



To_Date_Down_A=202106282023


小于该时间
=====



To_Date_Down_D=202106282026


if \[ "${To_Date}" -gt "${To_Date_Down_A}" -a "${To_Date}" -lt "${To_Date_Down_D}" \];then
echo "已到达${To_Date}时间"
# 判断网卡是否开启
If_Status=`ifconfig |grep "${New_If_Name}"`
if \[ ! -z "${If_Status}" \];then
if \[ -z "${if_Name}" \];then
echo "获取网卡信息失败"
else
ifdown "${New_If_Name}" \&\>\> /tmp/auto_down
fi
fi
fi


大于该时间
=====



To_Date_Up_A=202106282028


小于该时间
=====



To_Date_Up_D=202106282033

`if [ "${To_Date}" -gt "${To_Date_Up_A}" -a "${To_Date}" -lt "${To_Date_Up_D}" ];then
echo "已到达${To_Date}时间"
# 判断网卡是否开启
If_Status=``ifconfig |grep "${New_If_Name}"``
if [ -z "${If_Status}" ];then
ifup "${New_If_Name}" &>> /tmp/auto_up
fi
fi`

Crontab 定时任务

每分钟执行一次

*/1 * * * * /bin/bash /root/Auto_Network_Up_Down.sh
赞(1)
未经允许不得转载:工具盒子 » Centos6定时开启或关闭网卡Shell脚本