init
This commit is contained in:
60
backup-scripts/setup-backup-cron.sh
Executable file
60
backup-scripts/setup-backup-cron.sh
Executable file
@@ -0,0 +1,60 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Настройка автоматического бэкапа Gitea
|
||||
# Запускать на Proxmox хосте
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
LXC_ID="${LXC_ID:-300}"
|
||||
BACKUP_TIME="${BACKUP_TIME:-12:00}" # Время бэкапа (HH:MM)
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
|
||||
echo "Настройка автоматического бэкапа Gitea"
|
||||
echo ""
|
||||
echo "LXC контейнер: $LXC_ID"
|
||||
echo "Время бэкапа: $BACKUP_TIME ежедневно"
|
||||
echo ""
|
||||
|
||||
# Копируем скрипты
|
||||
echo "Копирование скриптов..."
|
||||
cp "$SCRIPT_DIR/backup-proxmox.sh" /usr/local/bin/gitea-backup
|
||||
cp "$SCRIPT_DIR/backup-gitea-lxc.sh" /usr/local/bin/gitea-backup-lxc
|
||||
chmod +x /usr/local/bin/gitea-backup /usr/local/bin/gitea-backup-lxc
|
||||
|
||||
# Копируем скрипт в LXC
|
||||
pct push "$LXC_ID" "$SCRIPT_DIR/backup-gitea-lxc.sh" /root/backup-gitea-lxc.sh
|
||||
pct exec "$LXC_ID" -- chmod +x /root/backup-gitea-lxc.sh
|
||||
|
||||
# Парсим время
|
||||
HOUR=$(echo "$BACKUP_TIME" | cut -d: -f1)
|
||||
MINUTE=$(echo "$BACKUP_TIME" | cut -d: -f2)
|
||||
|
||||
# Создаём cron задачу
|
||||
CRON_FILE="/etc/cron.d/gitea-backup"
|
||||
cat > "$CRON_FILE" << EOF
|
||||
# Автоматический бэкап Gitea
|
||||
# Создано: $(date)
|
||||
|
||||
# Ежедневный бэкап в $BACKUP_TIME
|
||||
$MINUTE $HOUR * * * root LXC_ID=$LXC_ID /usr/local/bin/gitea-backup >> /var/log/gitea-backup.log 2>&1
|
||||
|
||||
# Еженедельный полный vzdump (воскресенье в 13:00)
|
||||
0 13 * * 0 root LXC_ID=$LXC_ID DO_VZDUMP=true /usr/local/bin/gitea-backup >> /var/log/gitea-backup.log 2>&1
|
||||
EOF
|
||||
|
||||
chmod 644 "$CRON_FILE"
|
||||
|
||||
echo ""
|
||||
echo "✅ Cron задача создана: $CRON_FILE"
|
||||
echo ""
|
||||
echo "Расписание:"
|
||||
echo " - Ежедневно в $BACKUP_TIME: gitea dump + pg_dump"
|
||||
echo " - Воскресенье в 13:00: + полный vzdump контейнера"
|
||||
echo ""
|
||||
echo "Логи: /var/log/gitea-backup.log"
|
||||
echo ""
|
||||
echo "Ручной запуск:"
|
||||
echo " gitea-backup # Только данные"
|
||||
echo " DO_VZDUMP=true gitea-backup # + полный бэкап контейнера"
|
||||
echo ""
|
||||
Reference in New Issue
Block a user