レンタルサーバーのデータを全自動で定時バックアップする
公開日: 2021.1.15
レンタルサーバーのデータを全自動で定時バックアップする方法をまとめました。SSHが使えるレンタルサーバーと使えないレンタルサーバーの両方に対応しています。
SSHが使えるサーバー
SSHが使えるレンタルサーバーなら、bashが使えるはずなので、bashスクリプトを作成して、cronで定時で回すのが確実です。
下記は、レンタルサーバーの公開ディレクトリをバックアップするbashスクリプトです。
#!/bin/bash
BKDIR="バックアップ先のフルパス";
SRCDIRS="バックアップ元のフルパス(先頭の / は外す)";
EXCDIR="除外ディレクトリ、対象ディレクトリとバックアップ先が同じなら除外する"
DAYS="30" # バックアップ日数。単位は日。
# バックアップ先がなければ作成
[ ! -d ${BKDIR} ] && mkdir -p ${BKDIR};
# 実行
cd /;
tar -zcvf ${BKDIR}/`date +%Y%m%d`.tar.gz ${SRCDIRS} --exclude ${EXCDIR} 1> /dev/null;
# 設定日数より古いバックアップは削除
find ${BKDIR} -type f -mtime +${DAYS} -exec rm -f {} \;
今回は、このbashスクリプトを「web_backup.sh」というファイルで保存します。
保存したら、bashスクリプトに実行権限を与えます。
chmod +x web_backup.sh
テストしてみます。
bash web_backup.sh
バックアップファイルが出来ていれば問題なしです。
SSHが使えないサーバー
SSHが使えないサーバーはbashスクリプトが使えない可能性があるのでPHPを使います。
<?php
$days = '60'; // バックアップ日数。単位は日。
$bk_dir = 'バックアップ先のフルパス';
$src_dir = 'バックアップ元のフルパス(先頭の / は外す)';
$ex_dir = '除外ディレクトリ';
# 実行
system( "tar -zcvf ".$bk_dir."/`date +%Y%m%d`.tar.gz ".src_dir." --exclude ".$ex_dir." 1> /dev/null;);
# 設定日数より古いバックアップは削除
system( "find }".$bk_dir." -type f -mtime +".$days." -exec rm -f {} \;" );
基本的には、先ほどのbashスクリプトをphpのsystemコマンドで実行しているだけです。
ファイルを作成したら、FTPクライアントでアップロードして、web_backup.phpに実行権限を与えます。
テストしてみます。
php web_backup.php
バックアップが出来ていればOKです。
cronで定時実行する
スクリプトが用意できたら、レンタルサーバーの管理画面からcronを設定します。cronの設定方法はレンタルサーバーごとに違うので、利用しているレンタルサーバーのマニュアルを確認しましょう。
時間になったら、バックアップ先のディレクトリにファイルが出来ているかを確認します。出来ていれば成功です。失敗している場合は、cronのログを見れれば良いのですが、ログが取れないレンタルサーバーもあるので、その際は設定をcron見直してみましょう。
運用の目安
レンタルサーバーの場合、負荷をかけると同居している他のユーザーに迷惑がかかるので、ファイル数にもよりますが最短でも10分間隔くらいが良いでしょう。
また、バックアップ日数は長すぎるとレンタルサーバーの使用容量を超えてしまうので、できれば30日くらい、ファイルサイズが大きいなら14日くらいがちょうど良いかと思います。
可能ならクラウドにもバックアップを用意しよう
今回作成したスクリプトは、「レンタルサーバーのデータ」を「レンタルサーバーの中に」バックアップしているだけなので、レンタルサーバーが落ちたり、誤って削除してしまうリスクがあるため、完璧ではありません。
リスクをさらに軽減するなら、クラウドストレージにも同時にバックアップすると良いでしょう。
定番はAWSのS3ですが、Nextcloudと組み合わせるとcurlでPUTするだけで簡単にアップロードができるので、より便利です。
NextCloudと無料サーバー + AWS S3で、無限に拡張できる専用クラウドストレージを格安で構築する
オープンソースのNextCloudとスターサーバー フリー、AWS S3、Cloudflareで、なるべく0円に近いくらいの格安ではじめられる、無限に拡張できる専用クラウドストレージを構築します。
【2024年版】クラウド・ストレージOSS「Nextcloud」を簡単構築できるVPSサービスを徹底比較!
大手クラウドストレージよりも自由があり、使い方次第でコストを数分の一まで削減できるクラウド・ストレージOSS「Nextcloud」。構築が意外と手間ですが、「秒で構築」も可能なVPSサービスを比較します。
レンタルサーバーのデータを全自動で定時バックアップする方法をみてきました。
今回の方法だと、レンタルサーバーの標準バックアップ機能よりも細かく設定ができるので、サーバー内の容量が許す範囲内で細かくバックアップを取っておくと、安心してレンタルサーバーが使えます。
価格は記載がある場合を除き、すべて税込みです。
関連キーワード
共有レンタルサーバーの新着記事
- 共有レンタルサーバー月額100円以下で使えるメール専用サーバーまとめ 2023.11.28
- 共有レンタルサーバー広告なし完全無料のレンタルサーバー「シン・クラウド for Free」がリリース 2023.10.5
- 共有レンタルサーバーレンタルサーバーを画像置き場として使う方法とメリット・デメリット 2022.5.18
- 共有レンタルサーバーレンタルサーバーもウイルス感染する?対策は? 2022.5.17
- 共有レンタルサーバーノートラブルでスムーズなレンタルサーバーの解約の仕方 2022.5.12
- 共有レンタルサーバー動画配信サイトに最適なレンタルサーバーの選び方まとめ 2022.5.11
- 共有レンタルサーバーレンタルサーバーで複数サイト・複数ドメインを管理する際の注意点 2022.5.9
- 共有レンタルサーバーレンタルサーバーをスムーズに引越し・乗り換える方法 2022.5.2