人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

さくらvpsでcentos6.2を使用しております。
バックアップ(以下BK)のcronをうまく作れません。
cron(またはbash?)に詳しい方教えて下さい。
BKの順序は次のとおりです。

A.BK先について
BK周期は、毎日深夜2時でお願いします。
BKデータは次のディレクトリに移動 /var/www/html/bk

B.BK元1 サイボウズoffice6(root権限)
以下のディレクトリを全てAにコピー
/var/www/html/aaa/bbb/data
/var/www/html/aaa/bbb/file

C.BK 元2 PostgreSQL(db用アカウント postgres権限 )
PostgreSQLを使用したデスクネッツdbのBK(参考URL http://goo.gl/xLf2G )
BKのコマンドは、参考URLの【バックアップの例】に書かれている内容で。
pg_dump -b -Fc -U postgres webdb > webdb.backup
BKデータは、Aにコピー

D.AのBKデータをtar.gzで1ファイルに圧縮
ファイル名は日付で自動作成(例:20120810bk)

E.最後に圧縮したBKデータを次のディレクトリに移動
/var/www/html/sendbk

以上の内容でcronを作成したいです。どうかよろしくお願いします。

●質問者: news1
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

質問者から

E.最後に先に圧縮したBKデータを次のディレクトリに移動

以下に訂正します
E.最後に圧縮したBKデータを次のディレクトリに移動


1 ● studiocherry
●150ポイント

条件に書かれているコマンドを コマンドラインで順番に手入力すると動作している前提で書いてます。

とりあえず、順番に並べただけですが、以下の感じで、どうでしょうか?
圧縮してから移動だと効率が悪そうなので、圧縮ファイルを保存先に直接作成しています。
ファイルの重複チェックはしていないので、すでに同名のファイルがあれば上書きされます。

#!/bin/sh
rm -fr /var/www/html/bk
mkdir -p /var/www/html/bk/cybozu /var/www/html/bk/PgSQL
cp -fr /var/www/html/aaa/bbb/data /var/www/html/aaa/bbb/file /var/www/html/bk/cybozu/
pg_dump -b -Fc -U postgres webdb > /var/www/html/bk/PgSQL/webdb.backup
tar czf /var/www/html/sendbk/`date +%Y%m%d`'bk.tar.gz' /var/www/html/bk/*

news1さんのコメント
連絡が遅くなり申し訳ありません。 まだテストしておりませんが、詳細に答えていただき感謝します。

2 ● gizmo5
●150ポイント ベストアンサー
#!/bin/sh
TEMP_DIR=/var/www/html/bk
DEST_DIR=/var/www/html/sendbk
CYBOZU_DIR=/var/www/html/aaa/bbb

mkdir $TEMP_DIR
cp -fr $CYBOZU_DIR/data $CYBOZU_DIR/file $TEMP_DIR
su - postgres -c "pg_dump -b -Fc -U postgres webdb" > $TEMP_DIR/webdb.backup
cd $TEMP_DIR
tar czf $DEST_DIR/`date +%Y%m%d`bk.tar.gz .
rm -fr $TEMP_DIR

上記の内容を、/home/news1/backup.sh というスクリプトに書いたとして、root の crontab に以下のように登録します。

0 2 * * * /home/news1/backup.sh


一番目の人の回答とたいして変わっていませんが、以下のような点がポイントです。


news1さんのコメント
更に詳しく書いていただきありがとうございます。 bashのcron登録方法がわからなかったのですが、これで少し理解出来ました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ