NAS Navigatorを作成、といってもUbuntu起動時に定期的にWake On Lanのコマンドを発行するサービスを作成しただけです。これでLinkStation(AUTOモード機能付き)が自動起動します。
NAS Navigatorがやっていること
前回、Wake On Lanコマンドを発行することでLinkStationが自動起動することは実証済です。そのままだと5分ほどしてLinkStationが自動でOFFになるため、定期的にWake On Lanコマンドを発行する必要があります。Nas Navigatorも同様にWake On Lanコマンドを定期的に発行していると思われます。
前回はwatchコマンドを使い実現しましたが、この方法だと端末(コマンドプロンプト)を立ち上げる必要がありました。動作自体に何ら支障はありませんが、見栄えが今ひとつです。
今回はWake On Lan コマンドの発行をサービス化し、裏の見えないところで定期的に発行することを目指しました。
LinkStation自動起動(Wake On Lanコマンド発行)のサービス化
wakeonlanのインストール
まずwakeonlanコマンドが使えるようにwakeonlanパッケージをインストールします。
1 | $ sudo apt install wakeonlan |
これでwakeonlanコマンドが使えるようになりました。引数にLinkStationのMACアドレスを指定する必要があるので、Windows等でNas Navigatorを起動し調べておきます。
crontabの利用
定期的にタスクを実行するためcrontab機能を使います。”crontab -e”でcronを設定するエディターが開きます。
1 | $ crontab -e |
私の環境では「エディターを選べ」と訊いてきたので「一番易しい」、と指定されているnanoを選びました。
Select an editor. To change later, run 'select-editor'. /bin/nano <---- easiest /usr/bin/vim.tiny /bin/ed Choose 1-3 [1]: 1
nanoエディタにcrontabの内容が表示されます。初めて利用したので、中身はcronを説明しているコメントのみです。
最後の行に”*/3 * * * * wakeonlan XX:00:YY:11:ZZ:22″を追加します。
GNU nano 4.8 /tmp/crontab.vx97mT/crontab # Edit this file to introduce tasks to be run by cron. # # Each task to run has to be defined through a single line # indicating with different fields when the task will be run # and what command to run for the task …(中略)… # For example, you can run a backup of all your user accounts # at 5 a.m every week with: # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/ */3 * * * * wakeonlan XX:00:YY:11:ZZ:22
1つ目の”*/3″は「分」のパラメータで、「3分毎」の意味になります。”*”は無指定(any)です。
(分:1~59) (時:0~23) (日:1~31) (月:1~12) (曜日:0~6) (コマンド)
の順にパラメータを指定します。”wakeonlan XX:00:YY:11:ZZ:22″がコマンド部分になります。”XX:00:YY:11:ZZ:22”はLinkStationのMACアドレスです。
「月日、曜日、時間に関係なく(*)、3分ごと(*/3)に”wakeonlan XX:00:YY:11:ZZ:22″コマンドを発行せよ」という設定です。
nanoエディタは”Ctrl+o”で書き込み、”Ctrl+x”で終了します。編集した内容は/tmp/crontab.vx97mT/crontabとして保存されるようです。
(※/crontab.vx97mT/部分は固定名称ではないようです。しかも隠しフォルダのようで表示されません。)
これでUbuntuを再起動すると3分おきにwakeonlanが発行されます。
動作確認(cron実行ログ確認)
Ubuntuを再起動後、以下のコマンドでcronの実行結果を確認できます。
1 | $ less /var/log/syslog | grep CRON |
以下のように3分ごとにwakeonLanが実行されているのが分かります。
Nov 23 12:33:01 user-linux CRON[3655]: (user) CMD (wakeonlan XX:00:YY:11:ZZ:22) Nov 23 12:33:01 user-linux CRON[3654]: (CRON) info (No MTA installed, discarding output) Nov 23 12:36:01 user-linux CRON[3702]: (user) CMD (wakeonlan XX:00:YY:11:ZZ:22) Nov 23 12:36:01 user-linux CRON[3701]: (CRON) info (No MTA installed, discarding output) Nov 23 12:39:01 user-linux CRON[3805]: (user) CMD (wakeonlan XX:00:YY:11:ZZ:22) Nov 23 12:39:01 user-linux CRON[3804]: (CRON) info (No MTA installed, discarding output)
LinkStationの接続
wakeonLanの実行によりLinkStationは自動で起動されます。あとはsambaを使って接続すればLinkStationが使えます。
samba接続の方法は以下を参照してください。
まとめ
Linux用のNAS Navigatorはリリースされていませんが、crontabを利用しwakeonLanを定期的に発行することで、NAS Navigatorをインストールした時と同様に、Ubuntuを起動するとLinkStationのスイッチが自動でONになり、使っている間はLinkStationが勝手にOFFにならないようにすることができました。
コメント