[えでぃっとはうすのときど記]

共有中ユーザがいてもAutomatorでMacを自動再起動

 Time Capsuleにした古いMac miniには、共有接続がちょいちょい切れる問題があった。接続が切れたらその間のTime Machineバックアップも途切れるようだ。Time CapsuleにしているMac miniを再起動すれば元に戻るが、手動ではちょっと面倒だ。
 このMacに限らず、気がつくと共有接続が切れていることは、これまでも確かにあった。Monterey12.1にアップしたところ少し改善したようだが、それでも切れる場合があった。

 そこで、再起動で元に戻るなら定期的に自動再起動すればいいだろう、と考えた。再起動はシステムメンテナンスにもなる。
 手っ取り早いのは、システム環境設定の「省エネルギー」にある「スケジュール」を使う方法だ。かなり自由に日程を決められる。しかし実際にやってみると、共有接続がある状態では「共有中のユーザがいます」と警告が出た。こうなると「再起動」か「キャンセル」をクリックしないと先に進まないから、自動再起動にはならない。

photo

 ほかには、Automatorを使ってAppleScriptやシェルスクリプトを実行するアプリを作り、「カレンダー」と連動させて定期的に自動再起動する方法がある。
 少々ハードルが高くていろいろ試行錯誤したが、どうやらシェルスクリプトの「shutdown」コマンドを利用すると、上記警告が出ずに再起動するようだ。もっとも、このコマンドは「sudo」を使って管理者権限で実行する必要があり、それにはユーザパスワードが求められるため、自動処理にはそれもあらかじめ設定しておく必要があった。
 ネット情報を参照しながら何とかこれらをクリアしてAutomatorで再起動アプリを作り、自動実行するよう「カレンダー」でスケジュールできた。
 しばらく様子を見ているが、いまのところ再起動にトラブルはなく、少なくともTime CapsuleにしたMac miniが原因で共有接続が切れることはないようだ。

 次のサイトが参考になった。
・再起動するためのシェルコマンド
 Macで自動シャットダウンタイマーを設定する方法
 ターミナルからMacの電源を切る方法
・「sudo」をAutomatorで使う方法
 Automatorでsudoする方法
・パスワードをあらかじめ設定しておく方法
 sudoコマンドのパスワードを自動的に入力する方法

(記:2022/01/22)



][ときど記