質問
私はちょうど私が私のSVNリポジトリを作成してきた自動化されたダンプは早いと基本的には半分しかダンプオフカットがされてきてきたことを発見しました。それは緊急事態ではないのですが、私はこのような状況にいる嫌い。これは、最初の場所で自動バックアップを作る目的に反します。
私が使用しているコマンドは以下の通りです。私はターミナルで手動で実行する場合は、罰金を完了します。 output.txtとファイルには、すべての335回の改訂で、サイズが16メガです。しかし、私はcrontabファイルにそれを残す場合は、その8.1メガ周りだけ最初の169回の改訂で、中間点でベイル、ます。
# m h dom mon dow command
18 00 * * * svnadmin dump /var/svn/repos/myproject > /home/andrew/output.txt
私は実際に日付gzipで圧縮されたファイルに保存し、これはディスクスペースの問題ではありませんので、サーバー上のスペースの不足は、ありません。私はそれはどちらかそれはないと思うので、これは時間の問題である可能性がありますので、2秒後に救済するようだが、ファイルサイズは、過去の月の毎回同じです。 DOESは、限られたメモリ空間内で実行されるのcrontab?
解決
だから、私は本当の問題はここにあるかわからないが、私はダンプを行うときには/ dev / nullに、私はルートのsvnadminのSTDERRを場合は、すべてがうまくいきます。私は「静かな」フラグ(-q)を使用してみました、それも成功します。私はcrontabファイルから実行するシェルスクリプトがstrerrはで十分なテキストに遭遇した場合、それが実行しているものは何でもの実行を停止し、次の命令に行くと仮定しています。私は手動でファイルとスケジュールファイルにMD5を行ってきた、彼らは同じです。これは解決されているようです。誰もがこの問題そのものに遭遇したのであれば、これは私が成功し、早期打ち切りを乗り越えるために使用されるシェルスクリプトです。それは少し冗長です。ごめんなさい。
#!/bin/sh
echo "STARTING AT $(date +\%Y/\%m/\%d/T%I:\%M:\%S)" >> /home/andrew/svnlog.txt
rm /tmp/andrewMobileApp.dump
svnadmin dump /var/svn/repos/andrewMobileApp > /tmp/andrewMobileApp.dump 2>/dev/null
echo "svnadmin exited with code $?" >> /home/andrew/svnlog.txt
gzip -c /tmp/andrewMobileApp.dump > "/home/andrew/svnbackups/andrewMobileApp.dump.$(date +\%Y\%m\%d\%I\%M\%S).txt.gz"
echo "gzip exited with code $?" >> /home/andrew/svnlog.txt
echo "DONE AT $(date +\%Y/\%m/\%d/T%I:\%M:\%S)" >> /home/andrew/svnlog.txt
echo "-----" >> /home/andrew/svnlog.txt
このスクリプトは、スーパーユーザーのcrontabを介して起動されます。
他のヒント
まず第一に、svnadmin
はcronジョブのPATH環境変数にあることを確認してください。あなたは/usr/bin/svnadmin
または何が適切であるため、完全なパスを指定する必要があります。
また、むしろsvnadmin dump
よりも、このツールは、リポジトリのバックアップのために意図されsvnadmin hotcopy
に見てみたいことがあります。
私は、Debianのパッケージのcronのバグとしてこれを提出しました。 Debianではバグ#577133を参照してください。クリスチャンKastnerのにはMTAが見つからない場合は、すべてのメール処理コードバイパスにコードを追加することで、バグにパッチを当てています。
は、ユーザーディレクトリのサイズ制限がありますか?最初の一時にそれをダンプしてみたい場合があります。