concrete5 サイトをバックアップするシェルスクリプト

2015年12月26日 at 23:43

concrete5 サイトをバックアップするシェルスクリプトを作成しました。

http://github.com/katzueno/concrete5-backup-shell

concrete5 サイトをバクアップするという作業が億劫になってきたので、
簡単に設定できるように、シェルスクリプトにしました。

簡単にと言っても、サーバーの知識がある方でないと使いこなせませんが・・・。

複数の concrete5 をシェルスクリプトを使える環境で使っている方は必見です。

CRON にすると、定期的にバックアップしてくれるようになります。
ただし、増えたファイルを削除する機能とかはまだつけていないのでお気をつけ下さい。

動作検証はサクラのスタンダードと、自分の VPS (Cent OS 6系) で行いました。
検証もあんまりやっていないので、よろしければ、テストもお願いします。

■ 動作確認済み

- さくらのスタンダード
- Zenlogic
- VALUE-SERVER (By hdk0106 さん)

タグ:

Re: concrete5 サイトをバックアップするシェルスクリプト

2015年12月27日 at 0:40
これ、良いですね。使わせて頂きます!
テストさせて頂きました。

1)mysqldumpのオプションに”--lock-all-tables”を指定する
  自分はいつも排他の為にこのオプションを指定していたのですが、
  これを指定するか否かは、気持ちの問題で良いでしょうか?

2)Mac上では"--all"オプションを指定すると、
  zip圧縮実行時にエラーと成ったので、ZIP_OPTIONの変数を生成する箇所で
  相対パスでzip対象を指定している部分を${WHERE_IS_CONCRETE5}に変えました。

  ただ、そうすると、ディレクトリの上位階層構造も含めてzip圧縮されてしまうので、
  (圧縮対象は同じでも)圧縮の結果(ディレクトリ構成)が変わってしまうのは、
  難点です。

  (ご参考)
  Macは、コマンドラインでzip圧縮する際、相対パスは使えるのに、
  シェル内部では相対パスが使えませんでした。

3)シェルが途中で失敗すると、mysqldump等のダウンプファイルが
  ドキュメントルートに残ってしまうので、少しその辺りを変更させて頂きました。
 

Re: concrete5 サイトをバックアップするシェルスクリプト

2015年12月28日 at 6:39
遠藤さん、ありがとうございます!

自分は、基本的に、CentOS と FreeBSD だけでしかテストしていなかったので、ありがとうございます!

よろしかったら、変更したスクリプトっていただけますか?
 

Re: concrete5 サイトをバックアップするシェルスクリプト

2015年12月28日 at 10:38
あら?返信が効かなかったので、再送いたします。

殆ど、Katzさんのオリジナルから変わっていませんが、ファイル添付させて頂きます。

mysqldumpのオプションは稼働中のサーバーでも、影響ないように" --single-transaction"にいたしました。
 

Re: concrete5 サイトをバックアップするシェルスクリプト

2015年12月28日 at 6:45
Mac の -all オプションは

--all-mac みたいなオプションを新規で作ろうかなーと考え始めました。
 

Re: concrete5 サイトをバックアップするシェルスクリプト

2015年12月28日 at 13:04
ありがとうございます。

絶対パスで実行できる2つめのオプションを作って
Version 2.0 をリリースしました。

http://github.com/katzueno/concrete5-backup-shell
 

Re: concrete5 サイトをバックアップするシェルスクリプト

2015年12月29日 at 13:24
今、とあるサーバーで、スクリプトを実行しようとしたら、zip コマンドが入っていなかった・・・・orz

TAR でも実行できるようにするかなー。
 

Re: concrete5 サイトをバックアップするシェルスクリプト

2015年12月29日 at 17:43
一番大元の記事に下記を追加しました。

■ 動作確認済み

- さくらのスタンダード
- Zenlogic
- VALUE-SERVER (By hdk0106 さん)