lftp -f website.lftp
とかする。
website.lftp:
# -o で debug で出力するファイルを指定
debug -o /home/www/site_backup/log/website.log 3
# リトライ回数の指定。 あんまり長々リトライされないように
set net:max-retries 5
# www.example.com を開く。ユーザ名とパスワードの指定
# このファイルの管理には気をつける。
open www.example.com
user example_username example_password
# ローカルのディレクトリを移動(無ければ作る)。
!mkdir -p /home/www/site_backup/website
lcd /home/www/site_backup/website
# リモートのディレクトリを移動
cd /var/www/public_html
# ミラーする
# とりあえず -v で色々出力
# --delete をつけると、リモートに無いファイルは削除する。(上手く動かせていければ有効にしようかと)
# 削除系は怖いので後で。
mirror -v
ユーザ名、パスワード直書きなので、 chmod 600 website.lftp。
script file にしているのは、 ps ax したときにパスワードが見えると嫌なので。
アップロードするときは mirror –reverse でいけるらしい。
(今のサイトの構造がアレなので、やると何かしら壊れて恐しいことがおこる)
ディレクトリのパスが書いてあるところは変数にしてまとめたいかも。
最初 ~/site_backup/website って書いてたら、cron で実行したときにパスが見つからなくて実行されてませんでした。
リトライ回数は、最初入れなかったら、エラー起きて再接続を何回もして、えっらい時間がかかったので制限をかけました。
# エラーを解消するのは、したいんだけど、今すぐは無理なので〜。
本当はこのファイルの自動生成と、オプションの一括更新ができるようになると嬉しいかな。
(今20くらいサイトあるし)
まずは、しっかりダウンロードできることを確認するのが目標。
# ftp なの? s つかないの? ・・・これも調べないと。
参考にしたサイト
- LFTP – sophisticated file transfer program
- lftp – [物理のかぎしっぽ]
- qzのメモ帳 – lftp(1)
- CLIマジック:lftpで行う手軽なバックアップ – SourceForge.JP Magazine : オープンソースの話題満載
- lftpのmirror(ミラー)機能を使ってウェブサイトを更新するときにアップロード対象から特定ファイルを除外する方法 – Object Design
- lftp を使った ftp ミラーリングと便利機能
- ぱそくま パソコンなんでも辞典 | linux > lftpトップ
- Command Technica:lftpで行う手軽なバックアップ – ITmedia エンタープライズ