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サーバーをディレクトリにマウントしてからcp
(rsync
または他のツール)を使用してファイルをコピーすることです。たくさんありますヒューズ主にFTPアクセスに使用されるファイルシステムカルフトププスそしてLftpFS。
アップロードに認証を使用する予定でサーバーを制御できる場合は、SSHアクセスを使用するのが最善です。より安全で柔軟です。 SSH経由でファイルをコピーするには、scp
またはを使用できますsftp
。同期効率的な同期のために(一部のファイルがすでに存在する可能性がある場合)、または調和(双方向同期の場合)またはインストールSSHFS。