差分
この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
home:management:backup:web:start [2011/11/24 22:35] yuki |
home:management:backup:web:start [2021/09/04 20:26] yuki 削除 |
||
---|---|---|---|
ライン 10: | ライン 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 | + | |
+ | echo "gzip start." | ||
+ | gzip -c doku_latest.tar > doku_latest.tar.gz | ||
+ | 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__ | sftp -oPort=11122 backup@example.net<<__EOL__ | ||
- | put dokuwiki_backup.tar.gz | + | put doku_latest.tar.gz |
- | __EOL__</code> | + | __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>#!/bin/sh | * <code>#!/bin/sh | ||
+ | BACKUP=doku_latest | ||
echo "cd /home/yuki ..." | echo "cd /home/yuki ..." | ||
cd /home/yuki | cd /home/yuki | ||
echo "cd done." | echo "cd done." | ||
- | echo "gunzip doku_latest.tar.gz ..." | + | if [ -s ${BACKUP}.tar.gz ]; then |
- | gunzip doku_latest.tar.gz | + | |
- | echo "gunzip done." | + | |
- | echo "mv doku_latest.tar /tmp/ ..." | + | echo "gunzip ${BACKUP}.tar.gz ..." |
- | mv doku_latest.tar /tmp/ | + | gunzip ${BACKUP}.tar.gz |
- | echo "mv done." | + | echo "gunzip done." |
- | echo "cd /var/www/ainoniwa ..." | + | echo "mv ${BACKUP}.tar /tmp/ ..." |
- | cd /var/www/ainoniwa | + | mv ${BACKUP}.tar /tmp/ |
- | echo "cd done." | + | 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 "update start..." | + | echo "backup file not found." |
- | sudo -u apache tar xf /tmp/doku_latest.tar | + | |
- | echo "update done."</code> | + | |
- | - [スレーブ側] DNSの切り替わり監視スクリプトに書き加えて、crontabに仕込む | + | |
- | * 略。 | + | |
+ | fi</code> | ||
+ | - [スレーブ側] DNSの切り替わり監視スクリプトに書き加えて、crontabに仕込む | ||
+ | * 略 | ||
* DNSが切り替わった場合に、Dokuwikiの内容だけは保障出来るようになる。 | * DNSが切り替わった場合に、Dokuwikiの内容だけは保障出来るようになる。 | ||