差分
この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
home:management:backup:web:start [2011/11/06 19:16] yuki |
home:management:backup:web:start [2021/09/04 20:26] yuki 削除 |
||
---|---|---|---|
ライン 2: | ライン 2: | ||
===== Dokuwiki ===== | ===== Dokuwiki ===== | ||
+ | Dokuwikiの場合は、ファイルバックアップと同時にVPSに送付して自宅が死んだ際に参照出来るようにもしておく。 | ||
- [マスター側] スクリプトでSSH実行出来るように公開鍵登録をしておく | - [マスター側] スクリプトでSSH実行出来るように公開鍵登録をしておく | ||
ライン 9: | ライン 10: | ||
- [マスター側] こんな感じのスクリプトを置く。 | - [マスター側] こんな感じのスクリプトを置く。 | ||
* <code>#!/bin/sh | * <code>#!/bin/sh | ||
+ | #:<<: | ||
+ | echo "*** dokuwiki backup start. ***" | ||
+ | echo "cd /var/www" | ||
cd /var/www | cd /var/www | ||
- | tar uf /root/dokuwiki_backup.tar ./doku | + | |
+ | echo "tar update start." | ||
+ | tar uf /root/doku_latest.tar ./doku | ||
+ | echo "tar update done." | ||
+ | |||
+ | echo "cd /root" | ||
cd /root | cd /root | ||
- | gzip -c dokuwiki_backup.tar > dokuwiki_backup.tar.gz | + | |
- | sftp -oPort=6622 backup@example.net<<__EOL__ | + | echo "gzip start." |
- | put dokuwiki_backup.tar.gz | + | gzip -c doku_latest.tar > doku_latest.tar.gz |
- | __EOL__</code> | + | echo "gzip done." |
+ | ls -l doku_latest.tar | ||
+ | ls -l doku_latest.tar.gz | ||
+ | |||
+ | echo "sftp upload start." | ||
+ | sftp -oPort=11122 backup@example.net<<__EOL__ | ||
+ | put doku_latest.tar.gz | ||
+ | __EOL__ | ||
+ | : | ||
+ | echo "sftp upload done." | ||
+ | echo "*** dokuwiki backup completed. ***"</code> | ||
- [マスター側] crontabに仕込む | - [マスター側] crontabに仕込む | ||
* <code>echo "15 5 * * * root /root/dokuwiki_backup.sh" >> /etc/crontab</code> | * <code>echo "15 5 * * * root /root/dokuwiki_backup.sh" >> /etc/crontab</code> | ||
- | - [スレーブ側] 定期的にバックアップファイルの存在を確認して、ファイルが存在したら展開するスクリプトを書く | + | - [スレーブ側] バックアップファイルを自動展開するスクリプトを書く |
- | * <code>ちょっと見せられないよ!</code> | + | * <code>#!/bin/sh |
+ | BACKUP=doku_latest | ||
+ | echo "cd /home/yuki ..." | ||
+ | cd /home/yuki | ||
+ | echo "cd done." | ||
+ | |||
+ | if [ -s ${BACKUP}.tar.gz ]; then | ||
+ | |||
+ | echo "gunzip ${BACKUP}.tar.gz ..." | ||
+ | gunzip ${BACKUP}.tar.gz | ||
+ | echo "gunzip done." | ||
+ | |||
+ | echo "mv ${BACKUP}.tar /tmp/ ..." | ||
+ | mv ${BACKUP}.tar /tmp/ | ||
+ | echo "mv done." | ||
+ | |||
+ | echo "cd /var/www/ainoniwa ..." | ||
+ | cd /var/www/ainoniwa | ||
+ | echo "cd done." | ||
+ | |||
+ | echo "update start..." | ||
+ | sudo -u apache tar xf /tmp/${BACKUP}.tar | ||
+ | echo "update done." | ||
+ | |||
+ | else | ||
+ | |||
+ | echo "backup file not found." | ||
+ | |||
+ | fi</code> | ||
+ | - [スレーブ側] DNSの切り替わり監視スクリプトに書き加えて、crontabに仕込む | ||
+ | * 略 | ||
* DNSが切り替わった場合に、Dokuwikiの内容だけは保障出来るようになる。 | * DNSが切り替わった場合に、Dokuwikiの内容だけは保障出来るようになる。 | ||