エックスサーバーで指定したフォルダを自動で圧縮してバックアップする方法

xserver-file-backup

前回、エックスサーバーMySQLデータベース自動バックアップをご紹介しましたが、今回はストレージに保存されているファイルを丸ごとバックアップしたいと思います。
ターゲットはWEBで公開している「public_html」以下全てのファイルです。
バックアップを取得する際は圧縮も同時に行います。

フォルダごと圧縮してバックアップ

tarコマンドを使い、public_htmlフォルダを圧縮してbackupフォルダへ保存します。
使い方は以下の通りです。

tar [オプション] [保存先] [バックアップしたいフォルダ]

オプションについてはこちらを参考にしてください。

著者の場合はこのようになります。

tar czvf ~/backup/public_html_$(date +%y%m%d).tar.gz ~/path/to/public_html

参考:【エックスサーバー】SSHで指定ディレクトリの圧縮・解凍を行う – ysklog
前回同様、バックアップ保存期間7日間とします。

rm -f ~/backup/public_html_$(date --date "7 days ago" +%y%m%d).tar.gz

以前紹介した、MySqlバックアップする方法も踏まえ、以下にまとめます。

自動バックアップまとめ

ファイルデータベースの両方を自動バックアップをまとめてシェルスクリプトにしました。

#!/bin/bash
LANG=en_GB.UTF-8
# Database Backup
mysqldump -h[ホスト名] -u[ユーザー名] -p[パスワード] [データベース名] > ~/backup/dump_$(date +%y%m%d).sql
rm -f ~/backup/dump_$(date --date "7 days ago" +%y%m%d).sql
# File Backup
tar czvf ~/backup/public_html_$(date +%y%m%d).tar.gz ~/[ドメイン名]/public_html
rm -f ~/backup/public_html_$(date --date "7 days ago" +%y%m%d).tar.gz

特に、-pオプションの後(パスワードの前)にスペース開けたらダメよ!
これでハマった人も多いようです。
以上、後はcronでね。


Amazonベストセラー

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA