Centos6定时开启或关闭网卡Shell脚本
导读
由于其他原因需在指定时间范围内关闭网卡及指定日期内开启网卡恢复正常网络通信,故编写了一个Shell脚本。
脚本内容
此脚本仅供参考,适用于Centos6环境, 未适配7
#!/bin/bash # 定时停止或启用网卡 By:admin@ym68.cc # 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
评论(0)