Bash скрипт отправки содержимого файла
Скрипт отправки содержимого файла txt в группу Telegram может потребоваться по разным причинам. Одна из причин — это отправка содержимого лог-файла. Запуск осуществляется через планировщик cron.
В связи с тем, что файл лога у меня собирается windows машиной, то и кодировка на выходе страдает. Для решения перекодировки файла из кодировки UTF-16 в UTF8 используется консольная программа iconv. По листингу кода можно заметить, что имена файлов одинаковые, но не для систем UNIX.
1 2 3 4 5 6 7 8 9 10 |
#!/bin/bash # Convert encoding txt file iconv -f UTF-16 -t UTF8 /home/flammlin/Report/File-01.txt -o /home/flammlin/file-01.txt # TG send BOTID=XXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXX CHATID=XXXXXXXXXXXXXX curl -X POST https://api.telegram.org/bot$BOTID/sendMessage -d chat_id=$CHATID -d text="$(cat /home/flammlin/file-01.txt)" # Delete file rm /home/flammlin/file-01.txt |
В конце я удаляю file-01.txt, так как у меня происходило добавление строк в файл.