- 締切済み
WinSCPのbatファイル
WinSCPをbatファイルでミラーリングアップロードしたい
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- heisukewada
- ベストアンサー率58% (93/160)
サーバーを、管理しているのが誰なのかわかりませんが、別にいるのなら、管理者にお願いしてみることです。 個人のサーバーで自分が管理しているのであれば、 RLogin などで、サーバーにアクセスして echo ".profile is loaded" >> ~/load_log.txt echo ".bashrc is loaded" >> ~/load_log.txt を、実行して cat ~/load_log.txt コマンドで load_log.txt を確認する .profile is loaded .bashrc is loaded などが、返ってきてどちらも読み込まれていることがわかったら、 両方ともに if [ -t 1 ]; then echo "Old messages, etc..." fi 追記すればいいと思います。 自分の情報は出さないで、アドバイスだけを手短な言葉で求めても、答える範囲が広すぎて、具体的なアドバイスができないことは承知しておいてもらいたいものです。
- heisukewada
- ベストアンサー率58% (93/160)
このエラーは、SFTPサーバーに接続しようとした際、スタートアップスクリプトからの出力メッセージが原因で通信が正しく行えないときに発生します。サーバーの.profileや.bashrcなどのスタートアップスクリプトが通常のコマンドライン出力にメッセージを出力している場合、SFTP通信に影響が出ることがあります。 サーバー側で.profileや.bashrcといったスタートアップスクリプトを確認し、SSHセッション時にのみメッセージが出力されるように条件を加えます。
補足
if [ -t 1 ]; then echo "Old messages, etc..." fi をbatファイルに加えたのですが、pauseがあるのに停止せずそのまま終了しました。 特にFTPの更新処理が行われた形跡はありません。
- heisukewada
- ベストアンサー率58% (93/160)
サーバーの.profileや.bashrcといったスタートアップスクリプトで次の設定を行えば、通常のSSHログイン時にはメッセージが表示され、SFTPでは表示されないようになります。 if [ -t 1 ]; then echo "Old messages, etc..." fi
補足
いわれてることがわからないので、もう少し詳しくお願いします。
- heisukewada
- ベストアンサー率58% (93/160)
1. WinSCPのスクリプト作成 まず、アップロードに使用するスクリプトを .txt ファイルとして作成します。たとえば、winscp_script.txt という名前で保存します。内容は以下のように書きます。 # WinSCP Script open sftp://username:password@host # ミラーリングアップロードするディレクトリを指定 synchronize remote "ローカルディレクトリパス" "リモートディレクトリパス" # プログラムを終了 exit username と password をあなたのアカウント情報に置き換えてください。 host は接続するサーバのホスト名やIPアドレスです。 "ローカルディレクトリパス" と "リモートディレクトリパス" にそれぞれアップロード元と先のパスを指定します。 2. バッチファイル作成 次に、上記スクリプトを実行するバッチファイルを作成します。upload.bat として保存します。内容は以下のように記述してください。 @echo off "C:\Program Files (x86)\WinSCP\WinSCP.com" /script="winscp_script.txt" pause C:\Program Files (x86)\WinSCP\WinSCP.com のパスは、WinSCPのインストールパスに合わせてください。 pause は実行後にコマンドプロンプトが閉じないようにするためのものです。 3. バッチファイルの実行 upload.bat をダブルクリックで実行すると、WinSCPが起動してミラーリングアップロードが開始されます。バッチファイルにスケジュールタスクを設定して自動実行させることもできます。
補足
実行したのですが、以下のようなエラーが出て何も起きませんでした。 サーバを探索中・・・ サーバに接続しています・・・ 認証しています・・・ ユーザ名"???" を使用中 入力済みパスワードで認証中 認証されました セッションを開始しています・・・ 大きな SFTP パケット(1332503584 B)を受信しました。サポートしている最大パケット サイズは 1024000 B です。 このエラーは(.profile といった)スタートアップ スクリプトによって表示されたメッセージによるものです。メッセージが ""Old "" で始まっています。 SFTP プロトコルを初期化できません。SFTP サーバが起動していますか? 続行するには何かキーを押してください . . .
補足
情報不足だったのですね失礼しました。 サーバーはレンタルサーバーを使用しています。 ということは今回のWinSCPでの接続はできないということでしょうか?