--- Alias: ["Logwatch Telegram Bot"] Tag: [""] Date: 2022-03-10 DocType: Hierarchy: TimeStamp: location: Source: https://github.com/fxkjd/logwatch-telegram-bot CollapseMetaTable: true --- Parent:: [[Selfhosting]], [[VPS Console Dialogue|VPS command-line]] ---   ```button name Save type command action Save current file id Save ``` ^button-GitHubfxkjdlogwatch-telegram-botSendNSave   # GitHub - fxkjdlogwatch-telegram-bot Send logwatch results to your telegram account   ```ad-abstract title: Summary collapse: open Note Description ```   ```toc style: number ```   ## Logwatch Telegram Bot This repository includes a guide to send the logwatch results to your Telegram Bot.   ---   ## Installing   ### Prerequisites The following need to be installed: - Logwatch - Curl See `Related Links` for more information about how to install and configure logwatch.   ### Setting up #### In Telegram Create a Telegram Bot in order to obtain the `BOT TOKEN` ([More info](https://core.telegram.org/bots#6-botfather)). Start a conversation with your new Telegram Bot and obtain the `CHAT_ID`. You can obtain the `CHAT_ID` using the telegram API: ```ad-command ~~~bash curl https://api.telegram.org/bot/getUpdates ~~~ ``` Replace both of them in the [[#Logwatch sh]] script.   #### In your server Create (if not already created) the `/root/logwatch_bot/logs` and `/var/cache/logwatch/` folders. Copy the `logwatch.sh` script in `/root/logwatch_bot` folder. Ensure it has execution permissions. Edit the crontab. ```ad-command ~~~bash crontab -e ~~~ ``` Add the following line to send the logwatch results every day at 8.00 AM. ```ad-command title: cronjob ~~~bash 0 8 \* \* \* /bin/bash /root/logwatch\_bot/logwatch.sh ~~~ ```   ### Logwatch.sh ```ad-code title: logwatch.sh ~~~bash #!/bin/bash # Credits to Neolot (original script: https://gist.github.com/Neolot/ef7fce2518a8ec71bbe09beb9381ee95) # Config day=$(date +%Y-%m-%d) filename=/var/cache/logwatch/$day-logwatch.txt token= chat_id= #Check if removed-but-not-purged test -x /usr/share/logwatch/scripts/logwatch.pl || exit 0 #execute /usr/sbin/logwatch --output file --filename $filename chmod 644 $filename mv $filename /root/logwatch_bot/logs/ curl -F chat_id="$chat_id" -F text="$(head /root/logwatch_bot/logs/$day-logwatch.txt -n 9)" https://api.telegram.org/bot$token/sendMessage >/dev/null 2>&1 curl -F chat_id="$chat_id" -F document=@"/root/logwatch_bot/logs/$day-logwatch.txt" https://api.telegram.org/bot$token/sendDocument >/dev/null 2>&1 ~~~ ```   ## Related Links - [How To Install and Use Logwatch Log Analyzer and Reporter on a VPS](https://www.digitalocean.com/community/tutorials/how-to-install-and-use-logwatch-log-analyzer-and-reporter-on-a-vps) - [Logwatch - ArchWiki](https://wiki.archlinux.org/index.php/Logwatch) - [OpenVPN logwatch script](https://gist.github.com/fxkjd/7162cc54fc8f3a3f3ba88ba258ce74c3)