DataLife Engine / Ежедневный бэкап файлов сайта с уведомлением в Telegram

Ежедневный бэкап файлов сайта с уведомлением в Telegram


Напишем скрипт, который будет создавать ежедневный архив файлов сайта с использованием сжатия, а также отправку уведомлений в Telegram.

Содержимое скрипта:
vi /root/daily_bak.sh
#!/bin/bash

DATE=`date +%d-%m-%Y`
DATA="/data/app"
BAKDIR="/srv/backup"
BAKFILE="newsite_com.tar.gz"

tar -cpvzf $BAKDIR/$BAKFILE-$DATE $DATA

if [ -e $BAKDIR/$BAKFILE-$DATE ];
then
echo "Backup completed successfully..."
curl --header 'Content-Type: application/json' --request 'POST' --data '{"chat_id":"123456789","text":"Backup completed successfully"}' "https://api.telegram.org/bot0123456789:AAGb32HeVmtUPYMLz0ikJ8X_NXTBXL3vKX9/sendMessage"
else
echo "Backup failed."
curl --header 'Content-Type: application/json' --request 'POST' --data '{"chat_id":"123456789","text":"Backup failed"}' "https://api.telegram.org/bot0123456789:AAGb32HeVmtUPYMLz0ikJ8X_NXTBXL3vKX9/sendMessage"
fi

где, 123456789 это id моего аккаунта. Чтобы его узнать, добавьте бота @my_id_bot и напишите ему /start.
bot0123456789:AAGb32HeVmtUPYMLz0ikJ8X_NXTBXL3vKX9 - слово bot и token бота. Пишется все вместе.

Делаем скрипт исполняемым:
chmod u+x /root/daily_bak.sh

Добавляем задание в запланировщик задач:
crontab -e
45 23 * * * /root/daily_bak.sh
25-06-2021, 19:10
Вернуться назад