FTPトランスポートスクリプトの作成

FTPトランスポートスクリプトの作成

FTPをShebang-ifyして小さなFTPスクリプトを書く方法はありますか?

たとえば、

#!/usr/bin/ftp
open 192.168.1.1
put *.gz
quit

どんなアイデアがありますか?

答え1

ftp標準入力でスクリプトを期待するプログラムではありませんが、shebangはコマンドラインからスクリプト名を渡します。

あなたはそれを使用することができますここのドキュメントftpシェルラッパーを介してスクリプトを渡します。

#!/bin/sh
ftp <<EOF
open 192.168.1.1
put *.gz
EOF

左足引数として渡されたスクリプト名を受け入れます。

#!/usr/bin/lftp -f
open 192.168.1.1
put *.gz

ネットワークファイル転送プロトコル簡単な一括インポートまたは挿入のncftpgetための2つのツールが付属しています。ncftpput

ジッシュ含むFTPモジュール。直接FTPスクリプトの代わりに正しいシェルを使用すると、エラーに対応できるという利点があります。

#!/bin/zsh
zmodload zsh/zftp
open 192.168.1.1
put *.gz

もちろん、Perl、Python、Rubyなど、さまざまな言語を使用することもできます。

別の方法は、FTPサーバーをディレクトリにマウントしてからcprsyncまたは他のツール)を使用してファイルをコピーすることです。たくさんありますヒューズ主にFTPアクセスに使用されるファイルシステムカルフトププスそしてLftpFS

アップロードに認証を使用する予定でサーバーを制御できる場合は、SSHアクセスを使用するのが最善です。より安全で柔軟です。 SSH経由でファイルをコピーするには、scpまたはを使用できますsftp同期効率的な同期のために(一部のファイルがすでに存在する可能性がある場合)、または調和(双方向同期の場合)またはインストールSSHFS

関連情報