$FHHOME/fabfile/check.py
$ fab -l |grep -F check. check.check_ssh_hostname check_ssh_hostname:localuser,key,... check.nmap fab ope.nmap:22,x.x.x.x check.ntpsync check.ping_gw use %s/scripts/check_ping_gw.sh check.reboot_check use %s/scripts/check_reboot.sh check.reboot_diff check.systemctl_service_enable_disable
$ fab -H $H check.xxxx
$ fab -H $H -- systemctl get-default $ FAB -H $H -- systemctl set-default multi-user.target # CUI
$FHHOME/fabfile/check.py
import sys, os from fabric.api import * from fabric.contrib import files from datetime import datetime FHHOME=os.environ["FHHOME"] #------------------------------------------------------------------ # check.ntpsync #------------------------------------------------------------------ @task def ntpsync(): sudo("which ntpq > /dev/null 2>&1 && ntpq -p") sudo("which chronyc > /dev/null 2>&1 && chronyc sources -v") #------------------------------------------------------------------ # check.nmap # fab check.nmap:22,x.x.x.x #------------------------------------------------------------------ @task def nmap(port, remote): """ope.nmap:22,x.x.x.x""" run("nmap -Pn -sT -p %s %s " % (port, remote)) #------------------------------------------------------------------ # check_ssh_hostname:localuser,key,remoteuser,remotehost #------------------------------------------------------------------ @task def check_ssh_hostname(localuser, key, remoteuser, remotehost): """ check_ssh_hostname:localuser,key,remoteuser,remotehost""" sudo ('su - %s -c "ssh -i %s %s@%s hostname"' % (localuser, key, remoteuser, remotehost)) #=============================================================================== # Check OS Status #=============================================================================== #------------------------------------------------------------------ # check.reboot_check #------------------------------------------------------------------ @task def reboot_check(): """ use %s/scripts/check_reboot.sh """ date = datetime.now().strftime('%Y%m%d_%H%M') outfile = "check_reboot.%s" % (date) run("test -d scripts || mkdir scripts") put("%s/scripts/check_reboot.sh" % FHHOME, scripts/check_reboot.sh, mode=0755) sudo("scripts/check_reboot.sh 1>output/%s 2>/dev/null" % (outfile)) #------------------------------------------------------------------ # check.reboot_diff #------------------------------------------------------------------ @task def reboot_diff(): run("ls -tr1 output/check_reboot.2* |tail -n 5") file1=run("ls -tr1 output/check_reboot.2* |tail -n 2 |head -n 1") file2=run("ls -tr1 output/check_reboot.2* |tail -n 1") local("sdiff -s -w 150 %s %s" % (file1, file2)) run("sdiff -s -w 150 output/%s output/%s" % (file1, file2)) #------------------------------------------------------------------ # check.ping_gw #------------------------------------------------------------------ @task def ping_gw(): """ use %s/scripts/check_ping_gw.sh """ run("test -d scripts || mkdir scripts") put("%s/scripts/check_ping_gw.sh" % FHHOME, "scripts/check_ping_gw.sh", mode=0755) run("scripts/check_ping_gwt.sh") #=============================================================================== #Service Enable/Disable #=============================================================================== #------------------------------------------------------------------------------- # CentOS7 # check.systemctl_service_enable_disable #------------------------------------------------------------------------------- @task def systemctl_service_enable_disable(): sudo('systemctl list-unit-files -t service --no-pager |egrep "enable|disable" |sort -k 3')