创建定时任务,获取自动设备信息

— 作者伟成  
需要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


posted @ 2018-05-22 12:01  伟成  阅读(258)  评论(0编辑  收藏  举报