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

Monitoring 25-06-2021, 19:10 sobir 979 0


Напишем скрипт, который будет создавать ежедневный архив файлов сайта с использованием сжатия, а также отправку уведомлений в 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
Похожие новости
Разворачиваем LEMP-стэк на контейнерах Docker

Контейнеризируем сервисы LEMP с помощью docker-compose....

Подробнее
Настройка авторитетного DNS сервера BIND в CentOS 8 / RHEL 8

Установка и настройка первичного сервера доменных имен BIND....

Подробнее
Мониторинг статус-кодов HTTP NGINX в Zabbix

Мониторинг кодов состояния сайта из лог-файла nginx access log....

Подробнее
Настройка частного реестра Docker Private Registry

Создаем свой репозиторий образов контейнеров Docker....

Подробнее
Разворачиваем NGINX в Docker

Создание кастомного образа nginx из Dockerfile....

Подробнее
Запрещаем веб трафик на origins, кроме Cloudflare IPs

Разрешаем веб трафик на сервер NGINX только с серверов Cloudflare....

Подробнее
Комментарии (0)
Новые комментарии
komronu8 сентября 2022 18:23

Салом, можно ещё создать файл в /etc/nginx/proxy_params, a потом добавить туда

img
К комментарию
sobir26 августа 2022 10:43

Можно ещё так: 1. Создаем отдельную сеть для наших контейнеров docker network

img
К комментарию
komronu22 августа 2022 15:12

Спасибо за отзыв, написал отдельную статью по установке и настройке Ansible

img
К комментарию
sobir19 августа 2022 18:00

Думаю в статье необходимо также описать процесс установки Ansible.

img
К комментарию
sobir17 октября 2021 11:40

Принудительное обновление сертификата: certbot certonly --force-renew -d

img
К комментарию
sobir3 июля 2021 14:19

Можно, но я решил описать процесс копирования ключей более подробно.

img
К комментарию
Все комментарии
Какой дистрибутив Linux вы часто используете?
Календарь
«    Июль 2024    »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
293031 
Подпишись на канал