Project

General

Profile

Actions

RedmineBackup

以下の説明は、CentOS7.4が動いているAMD64 PCでの話になります。
Redmineインストール時に行った設定は InstallRedmineCentOs7 を参照してください。データベース名は http://blog.redmine.jp/articles/3_3/install/centos/ の説明とは異なり redminedb にしています。

手作業でのバックアップ

PostgreSQLのデータベースをファイルにバックアップする

下記のコマンドで、カレントディレクトリに 4桁年-月-日db.xz というファイルができます。

(cd /tmp && sudo -u postgres pg_dump redminedb -Fc) | xz -c > `date -I`db.xz

Redmineの添付ファイル群(files)をバックアップする

下記のコマンドで、カレントディレクトリに 4桁年-月-日files.tar.xz というファイルができます。

(cd /var/lib/redmine && sudo -u apache tar cf - files) | xz -c > `date -I`files.tar.xz

ローカルのgitリポジトリをバックアップする

シェルコマンド1行では無理だったのでshシェルスクリプトを作りました。
下記内容をgit_bkup.shという名前で保存して、chmod +x git_bkup.shして、root権限で実行してください。
カレントディレクトリに 4桁年-月-日リポジトリの名前.tar.xz というファイル群ができます。

#!/bin/sh

user=<あなたのログイン名>

today=`date -I`
currentdir=`pwd`

cd /var/lib/git
sudo -u apache mkdir -p mirror

dirlist=`\ls -1d *.git | xargs echo`
for dir in $dirlist; do
    name=${dir%.git}
    txzname=$currentdir/${today}${name}.tar.xz
    sudo -u apache git clone --mirror $dir mirror/$dir
    (cd mirror && tar Jcf $txzname $dir)
    chown $user. $txzname
    rm -rf mirror/$dir
done

ローカルのSubversionリポジトリをバックアップする

こちらもshシェルスクリプトを作りました。
下記内容をsvn_bkup.shという名前で保存して、chmod +x svn_bkup.shして、root権限で実行してください。
カレントディレクトリに 4桁年-月-日リポジトリの名前.dump.xz というファイル群ができます。

#!/bin/sh

user=<あなたのログイン名>

today=`date -I`
currentdir=`pwd`

#Subversionリポジトリのバックアップ
cd /var/lib/svn
dirlist=`ls -1d * | xargs echo`
for dir in $dirlist; do
    xzname=$currentdir/${today}${dir}.dump.xz
    sudo -u apache svnadmin dump $dir --deltas | xz -c > $xzname
    chown $user. $xzname
done

自動バックアップ

そのうち書きます。


Count of this page : 441

Updated by mole lord about 2 years ago · 1 revisions