Skip to content

Instantly share code, notes, and snippets.

@takkumattsu
Last active January 19, 2022 10:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save takkumattsu/d3d34d6f5f12254f63f8b3a0a1d0e09a to your computer and use it in GitHub Desktop.
Save takkumattsu/d3d34d6f5f12254f63f8b3a0a1d0e09a to your computer and use it in GitHub Desktop.
マイクラのログをdiscordに通知するスクリプト
#!/bin/sh
LOGFILE="/home/XXX/minecraft/logs/latest.log"
BOT_NAME="XXX"
DISCORD_URL=""
tail -F -n0 $LOGFILE |
sed -u -e 's/'\''/\\'\''/g' |
xargs -I @ curl -H "Content-Type: application/json" X POST -d '{"username": "'"$BOT_NAME"'", "content": "@" }' $DISCORD_URL
@takkumattsu
Copy link
Author

ハマったポイント

  • ログに'が含まれているのでそのままだとcurlに渡すときにエラーになる、sedで\を付加してエスケープしている
  • sedやgrepはデフォルトだとバッファリングされてしまいパイプが上手く流れない、-uオプションを付けることでバッファしないようにしている

@takkumattsu
Copy link
Author

スクリーンショット 2022-01-19 192822

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment