前回、エックスサーバーでMySQLデータベースの自動バックアップをご紹介しましたが、今回はストレージに保存されているファイルを丸ごとバックアップしたいと思います。
ターゲットはWEBで公開している「public_html」フォルダ以下全てのファイルです。
バックアップを取得する際は圧縮も同時に行います。
目次
フォルダごと圧縮してバックアップ
まず前提として、エックスサーバーにSSH接続するための準備が完了している必要があります。
tarコマンドを使い、public_htmlフォルダを圧縮してbackupフォルダへ保存します。
使い方は以下の通りです。
1 |
tar [オプション] [保存先] [バックアップしたいフォルダ] |
オプションについてはこちらを参考にしてください。
著者の場合はこのようになります。
1 |
tar czvf ~/backup/public_html_$(date +%y%m%d).tar.gz ~/path/to/public_html |
前回同様、バックアップの保存期間を7日間とします。
1 |
rm -f ~/backup/public_html_$(date --date "7 days ago" +%y%m%d).tar.gz |
以前紹介した、MySQLバックアップする方法も踏まえ、以下にまとめます。
自動バックアップまとめ
ファイルとデータベースの両方を自動バックアップをまとめてシェルスクリプトにしました。
1 2 3 4 5 6 7 8 9 10 |
#!/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でね。
コメント
コメント一覧 (1件)
[…] […]