1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

robocopy の動作をタスクスケジューラで止める方法 | 新人SEの備忘録

Last updated at Posted at 2020-03-09

ファイルサーバーのリプレースの際に使用する robocopy の バッチファイル。
ファイルサーバーのデータ移行は、営業時間外にだけ行いたいですよね。
そこで robocopy を深夜だけ動作させるために、タスクスケジューラで開始・停止を設定しました。

でも robocopy が全然停止してくれないんです。
このタスクスケジューラを使用した robocopy の停止にドはまりしたので、備忘録として記録しておきます。

#タスクキルを使うべし
解決方法を結論から言うと、タスクキルで強制終了しました。
タスクスケジューラの停止機能では、robocopy は止められないみたいです。

私の予想では、タスクスケジューラでは robocopy が干渉できる範囲外だと考えています。
タスクスケジューラは、直接 robocopy を動作させているわけでは無いです。
タスクスケジューラはコマンドプロンプトに動作命令を出し、コマンドプロンプトが robocopy を動作命令を出しています。

image.png

同様にタスクスケジューラの停止命令はコマンドプロンプトに送られます。
停止命令を受けたコマンドプロンプトは即座に停止するので、robocopy には何の指令も行かないんですね。
つまり robocopy は停止命令を受けていないので動き続けるわけです。

image.png

#bat ファイルのコード
使用した bat ファイルのコードを示します。
どちらも移行先のサーバーで動作させています。

##robocopy の開始
オプションでテストランモード(/L)が入っています。
実際に使用する時は、テストランモードを削除して使用してください。
そのた詳しいオプションについては、参考サイトをご覧ください。

cd \
robocopy [送信元フォルダ名(例:\\192.168.0.1\hoge)] [送信先フォルダ名(例:D:hoge)] /L /B /MIR /COPY:DATOUS /DCOPY:DAT /XO /R:1 /W:1 /NP /NFL /NDL /LOG+:C:\copy-result.log
pause

##robocopy の終了

taskkill /F /IM "robocopy.exe"

#タスクスケジューラの設定
後日更新

#ミス設定例
後日更新

#参考サイト
【robocopy】使い方と例, オプション一覧 〜差分バックアップ/MIR, アクセス権移行等, ファイルサーバ移行のノウハウ〜 | SEの道標
https://milestone-of-se.nesuke.com/knowhow/robocopy/file-mail-sv-migration/

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?