从 Expect SCP 脚本捕获输出日志
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
来做同样的事情。
我想捕获 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
来做同样的事情。