初心者が来ました
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"