[英]Capture output log from Expect SCP Script
我想捕獲scp自動腳本的所有輸出並將所有輸出移動到日志文件
我的劇本:
#!/usr/bin/expect -f
spawn bash -c "scp /home/abc/pdf/105784/*.pdf labdb1@10.150.10.104:/home/labdb2/Desktop/l/"
expect {
-re ".*sword.*" {
exp_send "password@\r"
}
}
interact
輸出: -
./exp_test.sh
spawn bash -c scp /home/abc/pdf/105784/*.pdf labdb1@10.150.10.104:/home/labdb2/Desktop/l/
labdb1@10.150.10.104's password:
104_105856_adhikari.pdf 100% 10KB 9.8KB/s 00:00
134_105856_adhikari.pdf 100% 10KB 9.9KB/s 00:00
135_105856_adhikari.pdf 100% 10KB 9.8KB/s 00:00
193_105856_adhikari.pdf 100% 10KB 9.8KB/s 00:00
我想要一個日志文件中的所有輸出說名稱scp_log.txt
我也不希望在屏幕上顯示下面的東西
spawn bash -c scp /home/abc/pdf/105784/*.pdf labdb1@10.150.10.104:/home/labdb2/Desktop/l/
labdb1@10.150.10.104's password:
IO重定向是您想要使用的東西:
spawn bash -c "scp /home/abc/pdf/105784/*.pdf labdb1@10.150.10.104:/home/labdb2/Desktop/l/ &> scp_log.txt"
或者只是簡單地將腳本調用為
./exp_test.sh &> scp_log.txt
如果您對基於純Expect的方式感興趣,那么您應該使用log_user
。
#!/usr/bin/expect -f
log_user 0; # Disabling logging to user window
log_file -a -noappend scp_log.txt
spawn bash -c "scp /home/abc/pdf/105784/*.pdf labdb1@10.150.10.104:/home/labdb2/Desktop/l/"
expect {
-re ".*sword.*" {
exp_send "password@\r"
}
}
interact
如果要啟用日志記錄到用戶,則可以使用log_user 1
執行相同操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.