0
VPS에서 Synology NAS 서버로 폴더를 전송하는 스크립트를 작성했습니다. 이유를 알리지 않고 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