今回は、エックスサーバー上にあるファイルを、自宅のLinuxサーバーからwgetとFTPコマンドを使ってダウンロードする方法をご紹介します。
以前ご紹介した、エックスサーバー上で自動バックアップしたファイルをダウンロードしてみます。
バックアップしたファイルはエックスサーバー内に保存されたままですが、もし、サーバー自体にトラブルが発生した場合、ファイルを取り出すことができなくなりますので念の為。
FTP認証付きでwgetする
まずは、エックスサーバーでFTPのアカウントを用意(前提)してください。
FTP認証で使用する[ユーザー名]と[パスワード]を指定して、wgetコマンドでダウンロードする方法は以下の通りです。
1 |
wget ftp://[ファイルパス] --user=[ユーザー名] --passwd=[パスワード] |
下記は、当サイトでお馴染みのエックスサーバーのルートディレクトリ直下にある、backupフォルダ内の「dump_[今日の日付].sql」というファイルをダウンロードする場合の例です。
1 |
wget ftp://svXXXX.xserver.jp/backup/dump_$(date +%y%m%d).sql --user=XXXX@XXXX.XXX --password=XXXXXXXX |
ついでに、保存先をマウントしたNASに指定するとこんな感じです。
1 |
wget ftp://svXXXX.xserver.jp/backup/dump_$(date +%y%m%d).sql --user=XXXX@XXXX.XXX --password=XXXXXXXX -P /mnt/nas/backup |
URLに認証情報を付ける
FTPのURLに[ユーザー名]と[パスワード]を付ける方法もあります。
どちらも動きは同じです。
1 |
wget ftp://[ユーザー名]:[パスワード]@[ファイルパス] |
ただ、この方法を使う場合には注意が必要です。
それは、FTPの[ユーザー名]や[パスワード]もURLエンコードしなければならないということ。
特にエックスサーバーのようにユーザー名に[@(アットマーク)]があると失敗してしまいます。
URLエンコードしてくれるサイトなどを利用してwgetしましょう。
[@]をURLエンコードすると[%40]となります。
HTTPで.htaccess認証する場合
余談ではありますが、最後に.htaccess認証を使ったHTTP経由でダウンロードする場合も紹介しておきます。
1 |
wget http://example.com/backup/dump_$(date +%y%m%d).sql --http-user=[ユーザー名] --http-passwd=[パスワード] |
当然ですが、HTTPの場合はドキュメントルート配下になりますのでご注意ください。
ファイルのバックアップは重要!
バックアップできることが確認できたら、cron等でこれを毎日取得しておけば、最悪1日前まで戻せますね。
自宅サーバーの方もバックアップしていますので、もう何が合っても怖くない!…かも。
同時に壊れた場合はさすがに諦めます。
コメント