サーバ内でバックアップすることは一番お手軽で、万が一何か合った場合にも早く戻すことができます。
僕も毎日バックアップを取得するようにしています。
また、大きな変更をする前にはサーバ内でバックアップをとってから作業するようにしています。
# rsync -az --delete dokuwiki/ dokuwiki.20170214/ or # rsync -az --delete dokuwiki/ dokuwiki.`date +"%Y%m%d"`/
# tar zcf dokuwiki.`date +"%Y%m%d"`.tar.gz dokuwiki
# mkdir backup <- Backupディレクトリの作成 # rsync -az --delete dokuwiki/ backup/dokuwiki.bk/ # tar zcf backup/dokuwiki.`date +"%Y%m%d"`.tar.gz dokuwiki
バックアップするシェルスクリプトを作成してcronで毎日実行するようにする
/home/user01/www/example/backup/backup.sh
# cd /home/user01/www/example/backup/ # vi backup.sh
#!/bin/sh DIR=`dirname ${0}` cd $DIR ; cd .. rsync -az --delete dokuwiki/ backup/dokuwiki.bk/ tar zcf backup/dokuwiki.`date +"%Y%m%d"`.tar.gz dokuwiki find ${DIR} -type f -name "*.tar.gz" -mtime +60 -exec rm -rf {} \;
# chmod 755 backup.sh # ./backup.sh バックアップファイルができているか確認
crontab -e 以下を登録する 30 6 * * * /home/user01/www/example/backup/backup.sh > /dev/null 2>&1
backupディレクトリの中に以下の内容の.htaccessを置き、HTTPでアクセスできないようにする。
Deny from all
コマンドでファイルを作成する場合、以下のようにします。
echo "Deny from all" > .htaccess
tarで圧縮して保存
#!/bin/sh DIR="/usr/share/nginx" find ${DIR}/backup -type f -name "*.tar.gz" -mtime +30 -exec rm -rf {} \; wikibackup(){ echo $1 cd ${DIR}/html/$1 tar zcf ${DIR}/backup/$1.`date +"%Y%m%d"`.tar.gz dokuwiki } wikibackup test1
rsyncする。
#!/bin/sh DIR="/var/www" wikibackup(){ echo $1 rsync -az --delete ${DIR}/html/$1/ ${DIR}/backup/$1.`date +"%H"` } wikibackup test1