サーバー上のファイルをバックアップするためのcronとして実行されるbashスクリプトがあります。
#!/bin/bash
FILE=/path/to/backup_$(date +%Y%m%d).tar
tar -cf $FILE /backup/this /and/that /and/someotherfiles
gzip $FILE
次を使用してスクリプトを直接実行すると、次のようになります。
Sudo bash ./backup-files.sh
ファイルをgzipで圧縮しますが、昨夜cronが実行されたとき、ファイルはtarとして残されました。 cronは、これが当てはまる理由を示すログをどこかに保存しているでしょうか?
バックアップが配置されているパーティションは限界にありますか?
スクリプトでtarballが作成されましたが、gzipには圧縮するためのスペースが残っていませんでした。
(両方のコマンドをtarの-zフラグと組み合わせることができます)
おっと、私は1つのことを忘れました:あなたのtarコマンドに-vフラグを追加してください。それが何をするかを表示します。
ピエールが述べたように、-zフラグを使用することをお勧めします。通常、ディレクトリ全体をバックアップし、その構造と権限を保持するために、常にtarzcvfPを使用します。 vフラグもあり、便利です。
スクリプトが希望どおりに機能しないことが再び発生した場合は、スクリプトの上にset -x
を追加できます。それはそれがすることを正確に出力し、この出力はしばしばバグを見つけるのに役立ちます。 cronジョブとして呼び出す場合は、$EMAIL
が適切に設定されていることを確認してください。