我希望能够使用Cron自动执行CopyConsole,这是执行服务器Copy.com上的文件同步的程序
问题是执行没有终止,而没有按下ENTER键。
我尝试了各种forms的脚本,最好的是这个,但没有成功:
#!/bin/bash timeout=600 expect() { local expect="$1" send="$2" local delim="${expect:(-1):1}" local buffer="" block="" while read -u3 -r -t$timeout -d "$delim" block; do buffer="$buffer$block$delim" case "$buffer" in *"$expect") echo "$send" 1>&3 return ;; esac done } exec 3<>/usr/local/copy.com/copy_sync.sh expect "All Files Up To Date" "\r"
任何人都可以帮我find解决办法吗? 谢谢!
解决了!
必须使用“#!/ usr / bin / expect”并用“spawn”执行
#!/usr/bin/expect set timeout 600 spawn /usr/local/copy.com/x86_64/CopyConsole -u=mail@copyaccount -r=/var/backups/copy.com -p=password expect "All Files Up To Date" { send "\r"}
感谢您的意见。