建立定時任務,獲取自動設備信息

— 做者偉成  
須要screen 建立一個可交互的SHELL環境
expect 做爲自動交換
經過while  + sleep 制定定時器
 
#!/usr/bin/expect
 
# 設置超時時間爲 60 秒
set timeout  120    
 
# 設置要登陸的主機 IP 地址
set host [lindex $argv 0]
 
# 設置以什麼名字的用戶登陸
set name xxxUser
 
# 設置用戶名的登陸密碼
set password xxxxxPassword
 
#spawn 一個 ssh 登陸進程
spawn  ssh $host -l $name -p22 -o StrictHostKeyChecking=no
 
# 等待響應,第一次登陸每每會提示是否永久保存 RSA 到本機的 know hosts 列表中;等到回答後,在提示輸出密碼;以後就直接提示輸入密碼
expect {
    "(yes/no)?" {
        send "yes\n"
        expect "assword:"
        send "$password\n"
    }
    "assword:" {
        send "$password\n"
        expect "<XJ-F100>"
        send "dis diagnostic-information\n"
        send "N"
        expect "<XJ-F100>"
        send "quit"
    }
}
 
 
#/bin/bash
basDir='/tmp/xiajiaoF100'
while [ 1 -eq 1 ]
do
    Day=`date "+%Y%m%d"`
    Hour=`date "+%H"`
    minute=`date "+%m%S"`
    mkdir -p ${basDir}/${Day}/${Hour}
    /usr/bin/expect  ${basDir}/sshexcept RemoteIp | tee ${basDir}/${Day}/${Hour}/${Day}${Hour}${minute}.log
    cd ${basDir}/${Day}/${Hour}/
    gzip ${basDir}/${Day}/${Hour}/${Day}${Hour}${minute}.log
    cd ${basDir}/
    sleep 30
done
相關文章
相關標籤/搜索