Windows用の最高の無料のスクリプト可能なSFTPクライアントは何ですか?
私は WinSCP と FileZilla を見てきました。WinSCP は非常にバグが多いようで (ここをクリック)、FileZilla はあまりスクリプト化できないようです。
助言がありますか?
基本的に私がやりたいことは、スケジュールされたタスクから、リモート サーバーにログオンし、ファイルをプルして、リモート サーバーから削除することです。
Windows用の最高の無料のスクリプト可能なSFTPクライアントは何ですか?
私は WinSCP と FileZilla を見てきました。WinSCP は非常にバグが多いようで (ここをクリック)、FileZilla はあまりスクリプト化できないようです。
助言がありますか?
基本的に私がやりたいことは、スケジュールされたタスクから、リモート サーバーにログオンし、ファイルをプルして、リモート サーバーから削除することです。
putty pscp に付属の scp クライアントを使用できます。Linux コマンド ラインの scp のように、コマンド ラインで pscp を使用できます。
シグウィン。コマンド ラインsftpの機能とBASHスクリプトの機能を組み合わせることができます。すべて Windows で!
Putty scp は既に言及されています。
新しい可能性のある putty psftp.exe について言及したいと思います。
次のコマンド ラインを使用します。
psftp.exe -l -pw -b
これにより、ftp サーバーにログインし、それに対してfile-with-ftp-cmds が実行されます。
完全なドキュメントはこちら:
http://the.earth.li/~sgtatham/putty/0.52/htmldoc/Chapter6.html
これは非常に古い質問ですが、 http://redpark.posterous.com/lftp-for-windowsをご覧ください。
cygwin からは、bash.exe、ssh.exe、cygssp-0.dll の 3 つのファイルのみを使用しています。それらを redpark の lftp の Windows ポートと同じディレクトリに置き、スクリプトを作成します。
コマンドラインの例:
D:\lftp>bash
bash-4.1# export PATH=.
bash-4.1# lftp sftp://user:pass@somehost.com
lftp user@somehost.com:~> put -c cx160sd.flv
194749860 bytes transferred in 112 seconds (1.67M/s)
lftp user@somehost.com:/> exit
bash-4.1# exit
exit
D:\lftp>
これは 1 つの exe ソリューションではありませんが、アップロードは pscp.exe によるアップロードよりも 2 倍高速であることが証明されています。
編集: 新しい URL は停止しました: http://envelopepushing.wordpress.com/2010/08/24/lftp-for-windows/
VanDyke の SecureFX をチェックしてみてください。 http://www.vandyke.com/products/securefx/
またはMKS Toolkit for Sys Admins http://mkstoolkit.com/products/tk/ds_tkother.asp
無料ではありませんが、WindowsでSFTPをサポートする包括的なスクリプトエンジンについては、edtFTPnet/PROを参照してください。
サンプルスクリプトは次のとおりです。
# Sample SFTP script
set remotehost=edtmobile
set user=javaftp
set password=javaftp
set protocol=sftp
set localdir=D:\work\tmp
# connect to the server
open
# change dir
cd remote/test
# put the local file test.txt to the server as mytest.txt
put test.txt mytest.txt
# disconnect
close
PowerShell を使用する場合は、netcmdlets (www.netcmdlets.com) などを使用できます。それ自体はクライアントではなく、インターネット通信用の一連のライブラリ (コマンドレット) です。無料の個人版もあります。PowerShell スクリプトを呼び出すようにスケジュール タスクを構成するのは簡単で、コードを通じて完全に柔軟/拡張可能であるという利点があります。
他の人への注意: スケジュールされたタスクを作成するには、テキスト エディタを開いて pscp コマンドを書き出すだけです。次に、ファイルを .bat ファイルとして保存します。ドキュメントの第 5 章と第 6 章には、pscp の仕組みについて知りたいことがすべて含まれています。
pscp は、ソースとターゲットを持つことに非常に特化していることに注意してください。これらを指定しない場合、pscp は単にデフォルトで使用法メッセージに戻ります。
次に例を示します。
c:\pscp.exe -pw [your password] -batch -sftp someuser@example.com:/* c:\yourlocation
この例では、pscp.exe は c ディレクトリのルートにあります。-batch は、自動化されたタスクを中断しないように、対話型プロンプトを無効にします。-sftp は、質問で sftp が指定されているため、sftp プロトコルを強制します。:/* ワイルドカードはソース内のすべてを戻し、c:\yourlocation はマシン上の最終的な場所を指定します。
これを自動タスクとしてスケジュールするには、スケジュールされたタスクを起動するだけです。XP では、これはシステム ツールにあります。次に、作成した .bat ファイルをタスクに指定し、実行する時間を与えれば準備完了です。