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

xserver-file-backup
  • URLをコピーしました!

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

目次

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

まず前提として、エックスサーバーSSH接続するための準備が完了している必要があります。
tarコマンドを使い、public_htmlフォルダを圧縮してbackupフォルダへ保存します。
使い方は以下の通りです。

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

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

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

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

前回同様、バックアップ保存期間を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でね。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメント一覧 (1件)

コメントする

CAPTCHA


目次