VRChatActivityToolsを定期実行できるようにする(with WSL2)
VRChatのログをパースしてSQLiteに保存してくれるツールを、定期的に自動で実行してくれるようにしてみる。(作業ログです)
https://github.com/nukora/VRChatActivityTools
VRChatActivityToolsのダウンロード
・https://github.com/nukora/VRChatActivityTools/releases
から 「VRChatActivityTools_v1.0.3.zip」をダウンロード
・適当な場所に解凍(後から動かすとちょっと面倒なので決めておいた方がいいかも)
WLS2でcronを使える状態にする
https://loumo.jp/archives/24595 を参考に設定
ただ、serviceの起動をパスワードなしのsudoでさせるのは何となく嫌だったので、ちょっと回り道させる
1. cronのservice実行するスクリプトを書く(on WSL)
「binaryじゃないよな」って思いながら bin配下に置いた(こういうのはどこに置くのが適切なんだろうか…)
$ sudo vim /usr/local/bin/start_cron.sh
(start_cron.sh の中身)
#!/bin/bash
service cron start
2. sudoでスクリプトを実行するときにパスワードを要求しないようにする
https://qiita.com/RyodoTanaka/items/e9b15d579d17651650b7 を参考に設定
$ sudo visudo
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
cleantted ALL=NOPASSWD: /usr/local/bin/start_cron.sh
3. Windows の起動時にcronを起動させるようにする
https://loumo.jp/archives/24595 を参考に、 「C:\Users\USERNAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup」配下に batファイルを作る
wsl /bin/bash -l -c "sudo /usr/local/bin/start_cron.sh"
cronでVRChatActivityToolsを定期実行する
crontabで編集する。若干実行頻度が高すぎる気がするけど、1時間ごとに実行させるようにする。実行時にコマンドプロンプトが立ち上がらないように、 「-console false」を付ける(Readme.txt 参照)
(追記)VRChatActivityToolsは *実行場所に* dbやlogを出力するため、ディレクトリ移動してから実行する必要があった
$ crontab -e
# m h dom mon dow command
0 * * * * cd /{hoge}/VRChatActivityTools_v1.0.3/ && ./VRChatActivityLogger.exe -console false
この記事が気に入ったらサポートをしてみませんか?