초보자가 왔습니다
wget, 스크립트, cronjob을 사용하여 여러 서버에서 중앙 서버로 백업 파일을 전송하려고 합니다. 그런데 마지막 파일을 전송할 때 문제가 발생하여 파일이 완전히 전송되지 않습니다. 디버그 기능을 사용해 보았지만 파일에 오류 메시지가 제공되지 않는 것 같습니다. 디버그 정보가 포함된 파일을 얻는 방법에 대한 아이디어가 있습니까?
wget --user $USER --password $PASSWORD "ftp://$2/backup/Backup_$1.zip" --debug "/d/backup/server/NodesBackups/Backup_$1.zip"
Freddy가 보여준 코드 줄을 사용했지만 여전히 문제가 있습니다. 스크립트는 4개의 파일을 전송하지만 파일은 4개의 백업 파일 중 2개에 대한 디버그 정보만 표시합니다. 마지막 파일이 완전히 전송되지 않았습니다(디버그 파일을 사용하여 조사하려고 할 때 발생한 문제였습니다).
답변1
디버그 출력을 stderr로 인쇄하는 대신 로그 파일에 저장하려면 다음을 사용할 수 있습니다.
-o logfile
/--output-file=logfile
또는-a logfile
/--append-output=logfile
옵션.
첫 번째는 기존 로그 파일을 덮어쓰고 후자는 기존 로그 파일에 추가합니다.
이것이 "/d/backup/server/NodesBackups/Backup_$1.zip"
저장된 출력 파일의 경로라고 가정하면 -O file
/ --output-document=file
옵션을 사용해야 합니다.
다음에 출력을 추가하는 예 /tmp/debug.log
:
wget --user="$USER" --password="$PASSWORD" --debug -a /tmp/debug.log -O "/d/backup/server/NodesBackups/Backup_$1.zip" "ftp://$2/backup/Backup_$1.zip"