mod: backup k3s ..
This commit is contained in:
parent
9629b85011
commit
c3d4600662
@ -9,35 +9,49 @@ PersistentVolumeClaims (PVC). Хочется сделать резервную
|
|||||||
```bash
|
```bash
|
||||||
#!/usr/bin/bash
|
#!/usr/bin/bash
|
||||||
|
|
||||||
|
# Проверяем, что есть каталог для монтирования SAMBA (и создаем его, если нет)
|
||||||
|
if [ ! -d /media/backup/k3s-backup ]; then
|
||||||
|
mkdir -p /media/backup/k3s-backup
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
# МОНТИРУЕМ SAMBA -- Seagate Personal Cloud
|
# МОНТИРУЕМ SAMBA -- Seagate Personal Cloud
|
||||||
mount -t cifs -o username=erjemin,password=<secret-password> //<NAS-IP>/<FOLDER> /media/backup/
|
sudo mount -t cifs -o username=erjemin,password=<secret-password> //<NAS-IP>/<FOLDER> /media/backup/
|
||||||
echo -e "$(date +'%F %R:%S') - монтируем SAMBA '/media/backup':\n$(date +'%F %R:%S') - =========================\n";
|
echo -e "$(date +'%F %R:%S') - монтируем SAMBA '/media/backup':\n$(date +'%F %R:%S') - =========================";
|
||||||
# Проверяем, что на SAMBA-каталоге есть каталог k3s-backup (и создаем его, если нет)
|
# Проверяем, что на SAMBA-каталоге есть каталог k3s-backup (и создаем его, если нет)
|
||||||
if [ ! -d /media/backup/k3s-backup ]; then
|
if [ ! -d /media/backup/k3s-backup ]; then
|
||||||
mkdir -p /media/backup/k3s-backup
|
mkdir -p /media/backup/k3s-backup
|
||||||
fi
|
fi
|
||||||
echo -e "\n\n$(date +'%F %R:%S') - монтируем SAMBA '/media/backup':\n$(date +'%F %R:%S') - =========================\n" >> /media/backup/k3s-backup/backup.log
|
echo -e "\n\n$(date +'%F %R:%S') - монтируем SAMBA '/media/backup':\n$(date +'%F %R:%S') - =========================" >> /media/backup/k3s-backup/backup.log
|
||||||
|
|
||||||
cd /home/opi
|
cd /home/opi
|
||||||
# Резервное копирование
|
# Резервное копирование
|
||||||
|
|
||||||
# ==== 1 Снапшоты etcd (k3s по умолчанию делает снапшоты каждык 12 часов
|
# ==== 1 Снапшоты etcd (k3s по умолчанию делает снапшоты каждык 12 часов
|
||||||
# в каталоге /var/lib/rancher/k3s/server/db/snapshots)
|
# в каталоге /var/lib/rancher/k3s/server/db/snapshots)
|
||||||
/usr/bin/zip -r /media/backup/k3s-backup/etcd--$(date +'%F--%H-%M-%S').zip /var/lib/rancher/k3s/server/db/snapshots/
|
echo -e "$(date +'%F %R:%S') - ZIP ETCD\n$(date +'%F %R:%S') - =========================" >> /media/backup/k3s-backup/backup.log
|
||||||
|
umount /media/backup
|
||||||
|
echo -e "$(date +'%F %R:%S') - ZIP ETCD\n$(date +'%F %R:%S') - ========================="
|
||||||
|
/usr/bin/zip -r /media/backup/k3s-backup/etcd-------$(date +'%F--%H-%M-%S').zip /var/lib/rancher/k3s/server/db/snapshots/
|
||||||
|
|
||||||
# ==== 2 Сохранение манифестов
|
# ==== 2 Сохранение манифестов
|
||||||
|
echo -e "$(date +'%F %R:%S') - ZIP MANIFESTS\n$(date +'%F %R:%S') - =========================" >> /media/backup/k3s-backup/backup.log
|
||||||
|
umount /media/backup
|
||||||
|
echo -e "$(date +'%F %R:%S') - ZIP MANIFESTS\n$(date +'%F %R:%S') - ========================="
|
||||||
/usr/bin/zip -r /media/backup/k3s-backup/manifests--$(date +'%F--%H-%M-%S').zip /home/opi/k3s/
|
/usr/bin/zip -r /media/backup/k3s-backup/manifests--$(date +'%F--%H-%M-%S').zip /home/opi/k3s/
|
||||||
|
|
||||||
# ==== 3 Сохранение Секретов
|
# ==== 3 Сохранение Секретов
|
||||||
|
echo -e "$(date +'%F %R:%S') - ZIP SECRETS\n$(date +'%F %R:%S') - =========================" >> /media/backup/k3s-backup/backup.log
|
||||||
|
umount /media/backup
|
||||||
|
echo -e "$(date +'%F %R:%S') - ZIP SECRETS\n$(date +'%F %R:%S') - ========================="
|
||||||
# Получаем список пространств имен
|
# Получаем список пространств имен
|
||||||
namespaces=$(kubectl get ns -o jsonpath='{.items[*].metadata.name}')
|
namespaces=$(kubectl get ns -o jsonpath='{.items[*].metadata.name}')
|
||||||
archive="secrets--$(date +'%F--%H-%M-%S').zip"
|
archive="/media/backup/k3s-backup/secrets----$(date +'%F--%H-%M-%S').zip"
|
||||||
# Создаем временную директорию
|
# Создаем временную директорию
|
||||||
tmp_dir=$(mktemp -d)
|
tmp_dir=$(mktemp -d)
|
||||||
# Перебираем каждое пространство имен
|
# Перебираем каждое пространство имен
|
||||||
for ns in $namespaces; do
|
for ns in $namespaces; do
|
||||||
# kubectl get secret -n "$ns" -o yaml | zip $archive - "secrets-$ns.yaml"
|
# kubectl get secret -n "$ns" -o yaml | zip $archive - "secrets-$ns.yaml"
|
||||||
kubectl get secret -n "$ns" -o yaml > "secrets-$ns.yaml" && zip $archive "secrets-$ns.yaml" && rm "secrets-$ns.yaml"
|
kubectl get secret -n "$ns" -o yaml > "secrets-$ns.yaml" && /usr/bin/zip $archive "secrets-$ns.yaml" && rm "secrets-$ns.yaml"
|
||||||
done
|
done
|
||||||
|
|
||||||
# ==== 4 Сохранение PVC
|
# ==== 4 Сохранение PVC
|
||||||
@ -48,21 +62,20 @@ done
|
|||||||
|
|
||||||
|
|
||||||
# Чистим старые файлы резервных копий
|
# Чистим старые файлы резервных копий
|
||||||
echo -e "$(date +'%F %R:%S') - удаляем старые файлы бекапов старше 14 дней:\n$(date +'%F %R:%S') - =========================\n" >> /media/backup/k3s-backup/backup.log
|
echo -e "$(date +'%F %R:%S') - удаляем старые файлы бекапов старше 14 дней:\n$(date +'%F %R:%S') - =========================" >> /media/backup/k3s-backup/backup.log
|
||||||
/usr/bin/find /media/backup/k3s-backup/ -type f -name "*.zip" -mtime +14 -name "backup.log-*" -delete
|
# /usr/bin/find /media/backup/k3s-backup/ -type f -name "*.zip" -mtime +14 -name "backup.log-*" -delete
|
||||||
echo -e "$(date +'%F %R:%S') - удаляем старые файлы бекапов старше 14 дней:\n$(date +'%F %R:%S') - =========================\n"
|
/usr/bin/find /media/backup/k3s-backup/ -type f -name "*.*" -mtime +14 -delete
|
||||||
|
echo -e "$(date +'%F %R:%S') - удаляем старые файлы бекапов старше 14 дней:\n$(date +'%F %R:%S') - ========================="
|
||||||
|
|
||||||
echo -e "$(date +'%F %R:%S') - ВСЕ РЕЗЕРВНЫЕ КОПИИ K3S В SAMBA:\n$(date +'%F %R:%S') - =========================\n" >> /media/backup/k3s-backup/backup.log
|
echo -e "$(date +'%F %R:%S') - ВСЕ РЕЗЕРВНЫЕ КОПИИ K3S В SAMBA:\n$(date +'%F %R:%S') - =========================" >> /media/backup/k3s-backup/backup.log
|
||||||
ls -alhc /media/backup/k3s-backup/ >> /media/backup/k3s-backup/backup.log
|
ls -alhc /media/backup/k3s-backup/ >> /media/backup/k3s-backup/backup.log
|
||||||
echo -e "$(date +'%F %R:%S') - ВСЕ РЕЗЕРВНЫЕ КОПИИ K3S В SAMBA:\n$(date +'%F %R:%S') - =========================\n"
|
echo -e "$(date +'%F %R:%S') - ВСЕ РЕЗЕРВНЫЕ КОПИИ K3S В SAMBA:\n$(date +'%F %R:%S') - ========================="
|
||||||
ls -alhc /media/backup/k3s-backup/
|
ls -alhc /media/backup/k3s-backup/
|
||||||
|
|
||||||
# Отсоединяем SAMBA
|
|
||||||
echo -e "$(date +'%F %R:%S') - отсоединяем SAMBA\n$(date +'%F %R:%S') - =========================\n" >> /media/backup/k3s-backup/backup.log
|
|
||||||
# Ротация лога
|
# Ротация лога
|
||||||
if [ $(stat -c %s /media/backup/k3s-backup/backup.log) -gt 10485760 ]; then
|
mv /media/backup/k3s-backup/backup.log /media/backup/k3s-backup/log-backup-$(date +'%F--%H-%M-%S').log
|
||||||
mv /media/backup/k3s-backup/backup.log /media/backup/k3s-backup/backup.log-$(date +'%F--%H-%M-%S')
|
# Отсоединяем SAMBA
|
||||||
touch /media/backup/k3s-backup/backup.log
|
echo -e "$(date +'%F %R:%S') - отсоединяем SAMBA\n$(date +'%F %R:%S') - =========================" >> /media/backup/k3s-backup/backup.log
|
||||||
fi
|
sudo umount /media/backup
|
||||||
umount /media/backup
|
echo -e "$(date +'%F %R:%S') - отсоединяем SAMBA\n$(date +'%F %R:%S') - ========================="
|
||||||
```
|
```
|
Loading…
x
Reference in New Issue
Block a user