WSL1のcron挙動確認&サインイン時に自動起動させる【AWS】

windowsに導入したWSL1のcronの挙動を色々確認してみました。
・windows上のcronの挙動を確認したい!
・サインイン時にwsl上のcronを自動起動させたい。
記事の目次
sudo設定
まずはsudoをパスワードなしで実行できるようにします。
sudo visudo
下記を追記
※%sudoより下に追記するようにしてください。
ubuntu ALL=(ALL:ALL) NOPASSWD: ALL

cronを自動起動する
今の状態の確認コマンド
service cron status

cronの開始
sudo service cron start
service cron status

cronの稼働確認
試しに下記を入力して、cronを毎分起動させます。
WSLにログインし、書き込むログファイルを作成
cd ~
mkdir word
cd work
touch cron.log
crontabを編集
crontab -e
下記を貼り付ける
* * * * * sudo echo sudo echo `date`>> /mnt/c/Users/Administrator/work/cron.log
毎分書き込まれていることを確認

ユーザーはサインインしたまま、wslからログアウトする。
wslをexitで抜けた後に、数分後再ログインして確認してみます。

きちんとcronが動いているのを確認
cd work
tail -f cron.log

windowsユーザーをサインアウトする
windowsからサインアウトし、再びサインインした状態で確認
service cron status

何も設定していない状態でサインアウトすると、自動的にWSLも停止するようですね。
次はサインインしたタイミングでWSL上のcronが自動起動するように設定します。
サインイン時に自動起動するように設定する
下記のリンクに、
C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
下記の内容をstartup.batという名前で保存し格納
wsl -u root -- service cron start

こちらの設定を仕込むことで、サインイン時にcronを自動起動してもらえます。