質問: **Linux(CentOS) にある特定のgzファイルをバックアップ用途として、ローカル環境であるWindows10 へ定期的に自動ダウンロードしたいのですが、どういう方法があるでしょうか?** **Q1.どこで処理するのでしょうか?** ・CentOSでcron処理? ・Windows側でサービスか何か? **Q2.wget** ・wgetするための要件は何でしょうか? ・httpでアクセスできるディレクトリへ対象gzファイルを配置しなければいけない? ・単にwww配下ではなく、apacheの場合はバーチャルホスト設定したディレクトリ限定? ・cronからwget使用可? **Q3.httpでアクセスできない場所へ対象gzファイルを配置する場合** ・SSHもSFTPも鍵認証でアクセスしているのですが、自動でダウンロードする、ということはその度毎に鍵認証処理が必要ということでしょうか? **Q4.FileZilla** ・普段FileZillaを使用しているのですが、自動で起動してダウンロードしてくれるような機能は用意されていないでしょうか?
回答: > > Q1.どこで処理するのでしょうか? > > ・CentOSでcron処理? > > ・Windows側でサービスか何か? > > > どちらでも可能です。 一方でサーバープログラムを動かして、他方でクライアントプログラムを動かします。 通信プロトコルを何にするか(何を選ぶか)、ジョブの管理をどちらでやりたいかで選択すれば良いと思います。 例) * Linux=Httpサーバーを動かす Windows=Httpクライアントを動かす * Windows=Httpサーバーを動かす Linux=Httpクライアントを動かす 定期的に動かすのは、Linuxであればcronやanacronを使います。Windowsであればタスクスケジューラが一般的だと思います。 > > Q2.wget > > ・wgetするための要件は何でしょうか? > > ・httpでアクセスできるディレクトリへ対象gzファイルを配置しなければいけない? > > ・単にwww配下ではなく、apacheの場合はバーチャルホスト設定したディレクトリ限定? > > ・cronからwget使用可? > > > wgetはhttp/https/ftp に対応したクライアントアプリケーションです。 Linux/Windowsどちらにもwgetはあります。 .gzファイルは http/https/ftp のいずれかでアクセス可能な場所に配置する必要があります。 バーチャルホストかどうかは影響しません。 cronから使用可能です。 > > Q3.httpでアクセスできない場所へ対象gzファイルを配置する場合 > > ・SSHもSFTPも鍵認証でアクセスしているのですが、自動でダウンロードする、ということはその度毎に鍵認証処理が必要ということでしょうか? > > > 認証の種類はSSHサーバー側でどのように設定しているかで変わってきます。鍵認証のみを有効にしてパスワード認証を無効化しているならscpでも鍵認証が必用です。 SSHを使うならscpを使うのが簡単でしょう。Windows版のクライアントであればPuttyのwscp.exeやWinSCPなどのプログラムが使えると思います。もしくは Cygwin 環境をインストールして scp コマンドを使用する方法なら Linux と同じ感覚で使えると思います。 > > Q4.FileZilla > > ・普段FileZillaを使用しているのですが、自動で起動してダウンロードしてくれるような機能は用意されていないでしょうか? > > > FileZillaは対話的に操作するクライアントアプリなので恐らく自動ダウンロードはできないと思います。 ただ、あまり詳しくないので間違ってるかもしれません。 色々実現方法があるので管理しやすさや、セキュリティを考慮する必要が有るかなどで判断されると良いと思います。 私でしたら WindowsのWinSCPでダウンロードするバッチファイルを作って、タスクスケジューラで動かす方式を選ぶ気がします。秘密鍵をWindows側で持つ必要があるので、鍵の流出のリスクを考慮するなら、専用のユーザを作って、gzファイル以外アクセス出来ないようにします。もしくは、Windowsの共有フォルダにLinuxのSambaクライアントでアクセスするのもありかなと思います。