web制作の仕事をしていると、「何日の何時に公開してください」という要望があります。
時間になったらFTPに接続してアップするのでもいいのですが、他の仕事をしているとアップし忘れてしまったりすることがあったり、同時にいくつかの公開作業をしなければならないことがあります。
そういう時というか最近ではほとんど自動で公開するようにプログラムを組むことにしました。
ここでは、Windowsでの時間になったら自動でアップロードする方法について説明していきます。
WinSCPのインストール
まずはWinSCPを下記リンク先からインストールします。
ダウンロードしたexeファイルを起動して、指示通りにインストールしていきます。
ftpコマンドだとパッシブモードが有効にならず、たまに動かないことがあるので、WinSCPのFTPコマンドを利用してアップロードすることにしています。
▲ 目次に戻る
バッチファイルの作成
Dドライブ/ftpフォルダ内に下記ファイルを作成しました。
cmd.batの中身
cmd.bat内には、WinSCPのインストール先とコマンド集を記述したcmd.txtを指定します。
@echo off
"C:\Program Files (x86)\WinSCP\WinSCP.exe" /console /script=D:\ftp\cmd.txt
cmd.txtの中身
cmd.txtには、ftp接続のための情報と、ディレクトリの移動やアップロードコマンドなどを記述していきます。
WinSCPで使えるコマンドは公式に掲載されています。
option confirm off
option transfer automatic
open ftp://ユーザー:パスワード@ホスト -passive=on
cd www
mput D:\ftp\*.*
exit
よく使うコマンド
open 接続情報 | 指定した接続情報にアクセス |
cd ディレクトリ名 | 指定したディレクトリに移動 |
mkdir ディレクトリ名 | 指定したディレクトリを作成 |
put ファイル名 | 指定したファイル名をアップロード |
mput * | 指定した複数のファイルをアップロード、*は全ファイルを指定 |
exit | ftp終了 |
▲ 目次に戻る
タスクスケジューラの設定
左下にある検索窓で「タスクスケジューラ」と検索します。
「操作」-「タスク作成」をクリックします。
全般タブ
「名前」欄は任意のものを入力し、「ユーザーがログオンしているかどうかにかかわらず実行する」と「最上位の特権で実行する」にチェックを入れます。
トリガータブ
新規をクリックします。
起動したい時間を入力します。
操作タブ
新規をクリックします。
参照から「D:\ftp\cmd.bat」を指定します。
OKをクリックすると管理者のパスワードを聞かれますので、各々設定しているパスワードを入力したら終了です。
タスクに追加されました。
これで時間になったら公開されるようになりました。
▲ 目次に戻る