内容へ移動
Kijima's private wiki
TANSTAAFL!
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
PDF の出力
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
現在位置:
技術系メモ
»
DokuWikiバックアップ
トレース:
dokuwikiバックアップ
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== DokuWikiバックアップ ====== DokuWikiの自動バックアップを構成する。 - DokuWikiを更新したら、その日の最後にバックアップを取得する。 - DokuWikiはDBがなく関連ファイルをアーカイブすることでバックアップできるため、全体をtar.gz形式のアーカイブにする。 - バックアップは10世代保存する。 更新履歴ファイルから最終更新日時を取得し、最新のアーカイブファイルのタイムスタンプと比較し、更新日時が新しければアーカイブを作成する。また、アーカイブファイルが世代数残るように、言い換えれば世代数を超過した古いアーカイブファイルを削除する。 ===== バックアップスクリプト ===== [2023/8/22]アーカイブの削除処理にバグがあったため修正 <file sh dokuwiki-backup.sh> #!/bin/bash WIKIDIR=/var/www/kijima.mydns.jp/dokuwiki/ BACKUPDIR=/media/pi/BACKUP/DokuWikiBak MAXBACK=10 datestr=`date +"%Y%m%d-%H%M%S"` savename="DokuWiki-backup_${datestr}.tgz" findname='DokuWiki-backup_*.tgz' history=${WIKIDIR}/data/meta/_dokuwiki.changes lasthist=`awk 'BEGIN{last=0};$1>last{last=$1};END{print last}' ${history}` backlist=`ls -1dt ${BACKUPDIR}/${findname} 2>/dev/null` backlast=`ls -1dt ${BACKUPDIR}/${findname} 2>/dev/null | head -n 1` # History Check dobackup=0 if [ -z "${backlast}" ] then dobackup=1 elif [ -r "${backlast}" ] then backtime=`stat -c "%Y" ${backlast}` if [ ${lasthist} -gt ${backtime} ] then dobackup=1 fi fi # DokuWiki Backup if [ ${dobackup} -eq 1 ] then test -d ${BACKUPDIR} || mkdir -p ${BACKUPDIR} tar czf ${BACKUPDIR}/${savename} ${WIKIDIR} 2>/dev/null if [ $? -eq 0 ] then logger -p user.info -t DokuWiki "Backup saved: ${savename}" else logger -p user.info -t DokuWiki "Backup error" fi fi # Remove Backup-file files=`ls -1td ${backlist} | sed -e "1,${MAXBACK}d"` if [ -n "${files}" ] then ls -1d ${files} | xargs rm if [ $? -eq 0 ] then for fpath in ${files} do echo logger -p user.info -t DokuWiki "Backup removed: ${fpath##*/}" done fi fi </file> ==== 定期実行設定 ==== <file backup /etc/cron.d/backup> 1 0 * * * pi /usr/local/bin/dokuwiki-backup.sh </file>
dokuwikiバックアップ.txt
· 最終更新:
2023/08/22 13:25
by
Minoru Kijima
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
PDF の出力
文書の先頭へ