MacとFTPサーバー間で定期的にファイルを転送しているなら、こう思ったことがあるはずです:毎回手動でやるより良い方法があるはずだ。あります。ただし、すべてのアプローチが同じように機能するわけではなく、中には解決するより多くの問題を生み出すものもあります。

手動転送の問題

手動のFTP転送は、クライアントを開き、接続し、正しいフォルダに移動し、ファイルを選択し、待って、閉じる作業が毎回発生します。転送を忘れればファイルが溜まります。早すぎると書きかけのファイルを掴みます。記憶だけで作業すると、何を送ったか把握できなくなります。

定期的にファイルを移動する人。エージェンシーに納品するフォトグラファー、パートナーと同期する企業、アセットを配布するチーム。にとって、これは毎週何時間もの繰り返し作業に積み重なります。価値を生まない作業。機械がやるべき作業です。

一般的なアプローチが不十分な理由

最初の発想はたいていスクリプトを書くことです。スクリプトはFTP操作を自動化でき、動作します。何かが変わるまで。認証情報の変更、サーバー移行、ネットワークの問題。スクリプトは無音で失敗します。何かがおかしくなっても通知はなく、誰も見ていないログがあるだけで、リトライロジックは自分で書かなければなりません。スクリプトの保守には継続的な開発者の時間が必要です。技術的でないユーザーには、そもそも選択肢になりません。

汎用同期ツールはFTPを多くのバックエンドの一つとして扱います。結果は複雑な同期タスク向けに設計されたツール。マルチクラウド構成には強力ですが、「このFTPフォルダを監視して新しいファイルをダウンロードする」というシンプルなワークフローには過剰で複雑です。

AutomatorなどのmacOS組み込みツールはネイティブFTPサポートがありません。Automatorを使ったFTP自動化は結局シェルスクリプトが必要になります。

正しい解決策の条件

MacでFTP転送をうまく自動化するには、見た目より難しいいくつかの要件があります:

FTPull + FTPush:まさにこのために作られた

FTPullとFTPushは、FTP自動化の各方向を担う2つの独立したMacアプリです。FTPullはリモートのFTP/SFTP/FTPSサーバーを監視し、新しいファイルを自動ダウンロードします。FTPushはローカルフォルダを監視し、新しいファイルが現れた瞬間に自動アップロードします。

どちらもメニューバーに常駐し、アイドル時はCPUをほぼ使いません。どちらも認証情報にmacOSキーチェーンを使用します。どちらも一度設定したらあとは放置です。

設計思想は明確です:一つのツール、一つの仕事、正しく実行。FTPアタッチメント付きのスイスアーミーナイフではありません。メンテナンスが必要なスクリプトでもありません。バックグラウンドで静かに動作し、ファイルを転送し、完了を知らせるアプリです。

FTPull + FTPushで得られるもの

  • FTPull:任意のFTP/SFTP/FTPSサーバーからの自動ダウンロード、設定可能なポーリング間隔、拡張子フィルター、スケジューリング、再帰フォルダ監視、転送履歴
  • FTPush:FSEventsによる瞬時のローカル検知、ファイル安定性チェッカー、同時アップロード、アップロード後のアクション(アーカイブ、削除、スクリプト実行)、帯域幅制限、Finderタグ
  • 両方:複数の同時接続、macOS通知、リアルタイムログ、クレジットカード不要の14日間無料トライアル

MacとFTPサーバー間で定期的にファイルを移動しているなら、これが作業を完全になくす設定です。一度設定したら、永遠に忘れていい。