おそらくはそれさえも平凡な日々

Time Machineの容量削減のためにtmcleanというツールを作った

なんとPerl製で久々のCPANizeです。

% cpanm -vn App::tmclean

上記でインストール可能ですが、「Perlかよ」という声にお応えして、一つの実行ファイルにパックしたものを用意して、それをHomebrewで入れられるようにしておきました。(App::FatPack::Simple++)

% brew install Songmu/tap/tmclean

使い方は簡単で、

% sudo tmclean --days=300

とかやると、300日以前のバックアップを削除してくれます。root権が必要です。dry runにはroot権は必要無いので、以下のようにすれば事前にコマンドの実行計画を見ることもできます。

% tmclean --dry-run --days=300

環境にもよりますが、かなり時間がかかるので注意です。僕の場合、試しに最も古い2つのバックアップを削除したら、4時間程度かかりました。寝る前とかに仕込むのが良いと思います。何れにせよご利用の際は気をつけてお使いください。

やっていること

この「ターミナルからTimeMachineのバックアップを削除して使用可能領域を増やす」という記事に書かれていることをそのままスクリプトに起こしただけで、tmutil deletehdiutil compact コマンドを内部で実行しているだけです。tmutil delete だけではHDDの容量が空かないと言うのは罠い。

余談

Time Machineの容量がQNAPを圧迫していたので作った。正確に言うと、以前手作業でコマンド実行したのを後の作業では自動化したいためにツール化した。

上のエントリにも書いてあるとおり、以下のようにすれば、Time Machineのサイズも制限できるようなのでこれも実行しているが実際に有効に動いているかどうかはわからない。

% sudo defaults write /Library/Preferences/com.apple.TimeMachine MaxSize 109951162777

また、sparsebundle自体の容量制限をする手もあるらしいのだが、これはやっていない。

% hdiutil resize -size 1024g /Volumes/path/to/$machineName.sparsebundle

そもそも以下のQNAPの公式ヘルプにも書いてあるように、適切にクオータ設定をしておきましょうという話でもあった…。

https://www.qnap.com/ja-jp/how-to/tutorial/article/time-machine-%E3%82%92%E4%BD%BF%E3%81%84-mac-%E3%82%92-smb-%E7%B5%8C%E7%94%B1%E3%81%A7-qnap-nas-%E3%81%AB%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97%E3%81%99%E3%82%8B/

ということで、僕自身の個人向けの色が強いツールですが、もし必要な方がいれば、気をつけてご利用ください。

created at
last modified at

2019-01-06T16:19:24+0900

comments powered by Disqus