0
VPSからSynology NAS Serverにフォルダを転送するスクリプトを作成しました。スクリプトは、1または2%の転送で何の徴候も示さずに失敗します。手動でコマンドを実行すると問題なく正常に動作し、フォルダを完全に転送します。私はこれを引き起こしているのか分かりませんし、どこを見なければならないかについていくつか指針を得ることができれば感謝します。SFTP手動コマンドは成功しましたが、スクリプトが1または2で失敗しています
SCRIPT:
#!/usr/bin/expect
set dir [timestamp -format "%Y-%m-%d"]
spawn sftp [email protected]
expect "Password:"
send "passw0rd\n"
expect "sftp>"
send "cd /directory/\n"
expect "sftp>"
send "put -r /home/backup/$dir\n"
expect "sftp>"
send "bye\n"
結果:
[email protected] [/scripts]# ./sftp.sh
spawn sftp [email protected]
[email protected]'s password:
Connected to host.synology.me
sftp> cd /directory/for/backup
sftp> put -r /home/backup/2017-12-26
Uploading /home/backup/2017-12-26/ to /backup/2017-12-26
Entering /home/backup/2017-12-26/
Entering /home/backup/2017-12-26/accounts
/home/backup/2017-12-26/file1.tar.gz 2% 26MB 1.8MB/s 08:41 [email protected] [/scripts]#
[email protected] [/scripts]#
MANUAL COMMAND:
[email protected] [/scripts]# sftp [email protected]
[email protected]'s password:
Connected to host.synology.me.
sftp> cd directory
sftp> put -r /home/backup/2017-12-26
Uploading /home/backup/2017-12-26/ to /backups/2017-12-26
Entering /home/backup/2017-12-26/
Entering /home/backup/2017-12-26/accounts
/home/backup/2017-12-26/file.tar.gz 100% 959MB 820.2KB/s 19:57
/home/backup/2017-12-26/file2.tar.gz 100% 147MB 1.4MB/s 01:45
sftp> bye
[email protected] [/Scripts]#
なぜいつも\ r? '\ n'は動かないかもしれませんか? –
ありがとうございます。タイムアウトを設定すると問題が解決しました。 – Ali
@EmilyE。 : '\ n'は動作しますが、' \ n'は内部的に '\ r'に変換されます。 – Dinesh