レンタルサーバー・自宅サーバーの設定・構築情報を公開しています。無効となっていませんか?このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない、検索ができないことがあります。最近では、レンタルサーバの障害が、この業界でも話題になっています。万が一に備えてのバックアップは大事です。記事では、そのバックアップを自動化する手順が書かれています。ついて記述されています。非常に便利なファイル転送プログラム(コマンド)の一つで、これ一つで、FTPS、HTTP、HTTPS、HFTP、FISH、SFTPとファイル転送系のプロトコルほぼ全てに対応しています。共に使うことができます。インストールせずに使いたいこともあるでしょう。その場合、一応、有志の方が、cygwinの中で必要なパッケージのみを組み込んだバージョンを公開されています。これを使って、自動化を図るためのバッチファイルができないか・・・・を考えてみました。(これが、ちょっと面倒だったので備忘録も含めて記事にしておきます。cygwinをインストールせずに使うためのもので、cygwinの中の必要最小限のDLL、実行ファイルを含んでいます。通常のcygwin版のlftpではないことに注意してください。複数あるようで、普通にftp,sftpぐらいがまともに動作するのは、個人的に確認できたのは以下の1つだけでした。ダウンロードするファイルを間違えないようにしましょう。http://ham-tech.net/tools/lftp_v4.3.5_win32.zipは、sftpが動作しませんでした。ダウンロードしたら、解凍します。ここでは、Cドライブ直下に解凍したとして、以降、解説します。解凍するには、7zipが必要です。プロンプトから直接使うと、以下のようにsftpでは、コマンドが一切動作しません。経由で実行してあげるうまくいきます。exitと、lsコマンドを実行すると、ちゃんとファイルリスト情報を出力してくれます。特徴であるスクリプトを使ってアクセスするには、どうすれば良いでしょう。します)を作ってみました。インストールパスを指定します。(cgwin形式のパスを指定します。インストールパスを指定します。(MS-DOS形式のパスを指定します。Bシェルへ渡すスクリプトファイルを作成します。改行コードはLFのみとします。FTP/SFTPのユーザ名を指定します。FTP/SFTPのパスワードを指定します。FTP/SFTPのポート番号を指定します。プロトコル名を指定します。FTP/SFTPのホスト名を指定します。FTP/SFTPにてダウンロードするファイル名指定します。FTP/SFTPサーバーのバックアップファイルの出力パスを指定します。ローカルのバックアップダウンロードパスを指定します。(cgwin形式のパスを指定します。lftpへ渡すスクリプトファイルを作成します。改行コードはLFのみとします。%TEMP_SH%以下は、上記のバッチで作成される一時的なBシェルスクリプトファイル、lftpスクリプトファイルの具体的な出力例です。いずれも改行コードは、LFのみとなります。download_filebyeここでのポイントは、各スクリプトファイルは、改行コードがLFとなることです。通常のWindowsでは、CRLFで1つの改行とみなされますが、ここでは、Unixライクな環境なためLFのみでスクリプトファイルを作成する必要があります。以下の図は、バッチファイルと上記のファイルの関連、lftpの起動までの流れを示した図です。要は、以下のように処理が流れていきます。起動そこで、bashの起動で用いるBシェルスクリプトファイル(bash.sh)lftpの起動で用いるlftpスクリプトファイル(lftp.sh)を、それぞれバッチファイルで自動的に一時的に作成しています。