WSL2内で定期実行するプログラムを作ってcrontab書いたけど動作しなかった。
確認したらcronはデフォルトで動かない. まじかよ。
serviceを確認してみる。
1 2 3 4 |
$ sudo service cron status * cron is not running |
やらないといけないのは3つ
- Crontabの起動
- visudoでNOPASS設定
- Windows側にスタートアッププログラムの追加
とりあえずcronの起動
まずなによりcrontabを起動させる。
1 2 3 |
$ sudo service cron start $ sudo service cron status * cron is running |
タスクマネージャーに「cron」が出るか確認する。
visudoする
Ubuntu(18.04.6 LTS (Bionic Beaver)")だと nanoが起動してしまうのでvimに変更(オプション)
1 |
sudo update-alternatives --set editor /usr/bin/vim.basic |
Windowsスタートアップスクリプト用意
batファイルを作成する。
norioの部分は自分のユーザ名に書き換えてね。
1 2 3 |
# C:\Users\norio\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\runcron.bat wsl /bin/bash -l -c "sudo service cron start" |
これでおっけい。
再起動して、タスクマネージャーにcronがでてくるか確認してね。
じゃあねー。