2

私が作成していたSVNリポジトリの自動ダンプが早期に切断されており、基本的にダンプの半分しか存在しないことを発見しました。緊急事態ではありませんが、私はこのような状況にいるのは嫌です。そもそも自動バックアップを作成するという目的に反します。

私が使用しているコマンドは以下のとおりです。ターミナルで手動で実行すると、正常に完了します。output.txtファイルのサイズは16メガバイトで、335のリビジョンすべてが含まれています。しかし、それをcrontabに任せた場合、それは中間点で、約8.1メガバイトで、最初の169リビジョンのみでベイルします。

# m h  dom mon dow   command
18 00 * * * svnadmin dump /var/svn/repos/myproject > /home/andrew/output.txt 

私は実際に古いgzipファイルに保存しますが、サーバーのスペースが不足することはないので、これはディスクスペースの問題ではありません。2秒後には保釈されるようですので、これは時間の問題かもしれませんが、ファイルサイズは過去1か月間毎回同じなので、それもそうではないと思います。crontabは限られたメモリスペース内で実行されますか?

4

4 に答える 4

5

したがって、実際の問題がここにあるかどうかはわかりませんが、ダンプを実行するときにsvnadminのSTDERRを/ dev / nullにルーティングすると、すべてがうまくいきます。「quiet」フラグ(-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を介して呼び出されます。

于 2010-02-27T07:39:29.760 に答える
1

まず、それsvnadminがcronジョブのPATH環境変数にあることを確認してください。のフルパス/usr/bin/svnadminまたは適切なものを指定する必要がある場合があります。

また、ではなく、リポジトリのバックアップを目的としたツールがどれであるsvnadmin dumpかを調べたい場合があります。svnadmin hotcopy

于 2010-02-24T05:51:11.737 に答える
1

私はこれをDebiancronパッケージのバグとして提出しました。これは、そこでも(vserverの下で)経験していたためです。Debianのバグ#577133を参照してください。Christian Kastnerは、MTAが見つからない場合にすべてのメール処理コードをバイパスするコードを追加することにより、バグにパッチを適用しました。

于 2010-04-22T23:37:10.810 に答える
0

ユーザーディレクトリにサイズ制限はありますか?最初に一時的にダンプしてみてください。

于 2010-02-24T05:50:41.323 に答える