JenkinsからWindowsのクリーンアップ処理を実行する

Windows7デフラグやクリーンアップには下記のフリーソフトを使っている。動作は軽いし処理は速いし機能的に申し分ない。

インターネットの一時ファイルやごみ箱内のファイルなどを一括削除したり、レジストリの問題点を解消したりしてくれるシステムメンテナンス用ツールです。

CCleanerの詳細情報 : Vector ソフトを探す!

断片化したハードディスクを高速に最適化できるデフラグソフト。Windows標準のデフラグツールに比べて最適化の効果は若干低いようだが、大容量のハードディスクでも高速に最適化できるのが特長。

「Auslogics Disk Defrag」のページは移転いたしました

気が向いた時にやっていれば良いとは言え、そのような作業を定期的にやらなければならないと記憶しているのは面倒だ。もう少し自動化出来ないものかと思っていたら、両方のソフト共にコマンドラインから利用出来ることに気がついた。

CCleaner.exe /AUTO
CCleaner runs silently and automatically, using the current set of saved options to clean the PC. CCleaner then exits.

CCleaner.com - Command-line parameters

Command line support
Supplied with a command line tool - "cdefrag.exe", which can be found in
the program folder once it is installed

Auslogics Disk Defrag Free - Help Manual

コマンドラインから呼び出せるのであれば、あとはJenkinsで定期実行させれば良い。こんなWindowsバッチスクリプトを呼び出すジョブを用意して、毎週1回決まった時刻に実行するように設定してみた。

set CCLEANER_EXE="C:\Program Files\CCleaner\CCleaner.exe"
%CCLEANER_EXE% /AUTO

set CDEFRAG_EXE="C:\Program Files\Auslogics\Auslogics Disk Defrag\cdefrag.exe"
%CDEFRAG_EXE% C:

実行結果は下記の通り。

ユーザーrabbit2goが実行
ビルドします。 ワークスペース: C:\Program Files\Jenkins\workspace\CleanupWindows
[CleanupWindows] $ cmd /c call C:\Windows\TEMP\hudson5352448309944209263.bat

C:\Program Files\Jenkins\workspace\CleanupWindows>set CCLEANER_EXE="C:\Program Files\CCleaner\CCleaner.exe" 

C:\Program Files\Jenkins\workspace\CleanupWindows>"C:\Program Files\CCleaner\CCleaner.exe" /AUTO 

C:\Program Files\Jenkins\workspace\CleanupWindows>set CDEFRAG_EXE="C:\Program Files\Auslogics\Auslogics Disk Defrag\cdefrag.exe" 

C:\Program Files\Jenkins\workspace\CleanupWindows>"C:\Program Files\Auslogics\Auslogics Disk Defrag\cdefrag.exe" C: 
 Auslogics Disk Defrag
 Copyright ゥ 2008-2012 Auslogics. All rights reserved.
 Visit http://www.auslogics.com/en for updates and other computer 
optimization software.

Analyzing disk C: ... 1%  Analyzing disk C: ... 11%  Analyzing disk C: ... 24%  Analyzing disk C: ... 31%  Analyzing disk C: ... 41%  Analyzing disk C: ... 54%  Analyzing disk C: ... 61%  Analyzing disk C: ... 71%  Analyzing disk C: ... 81%  Analyzing disk C: ... 90%  Analyzing disk C: ... 99%  Defragmenting disk C: ... 2%   Defragmenting disk C: ... 9%  Defragmenting disk C: ... 28%   Defragmenting disk C: ... 43%  Defragmenting disk C: ... 58%  Defragmenting disk C: ... 89%   Defragmenting disk C: ... 90%  
C:\Program Files\Jenkins\workspace\CleanupWindows>exit 0 
Finished: SUCCESS

これで面倒なメンテナンスも自動的にやってくれるようになった。