Различия
Показаны различия между двумя версиями страницы.
| Следующая версия | Предыдущая версия | ||
| vm:n8n:local_backup [2025/08/07 13:29] – создано admin | vm:n8n:local_backup [2025/08/10 19:51] (текущий) – admin | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | 12 | + | ====== Install ====== |
| + | |||
| + | **Действия на стороне ubuntu** | ||
| + | |||
| + | Создаем папки и файл скрипта | ||
| + | |||
| + | < | ||
| + | sudo chown -R $USER:$USER / | ||
| + | sudo nano / | ||
| + | |||
| + | Вставляем скрипт\\ | ||
| + | Обрати внимание на\\ | ||
| + | **BACKUP_DIR="/ | ||
| + | ARCHIVE_DIR="/ | ||
| + | MAX_BACKUPS=10\\ | ||
| + | cd /opt/n8n || exit\\ | ||
| + | cp -r / | ||
| + | |||
| + | < | ||
| + | |||
| + | BACKUP_DIR="/ | ||
| + | ARCHIVE_DIR="/ | ||
| + | TIMESTAMP=$(date +%F) | ||
| + | MAX_BACKUPS=10 | ||
| + | |||
| + | mkdir -p " | ||
| + | mkdir -p " | ||
| + | |||
| + | cd /opt/n8n || exit | ||
| + | docker-compose down | ||
| + | |||
| + | # Копируем всю папку n8n и конфиги в BACKUP_DIR | ||
| + | cp -r / | ||
| + | cp docker-compose.yml " | ||
| + | cp .env " | ||
| + | |||
| + | # Создаём архив из содержимого BACKUP_DIR, архив в ARCHIVE_DIR | ||
| + | tar -czvf " | ||
| + | |||
| + | # Удаляем временные неархивированные файлы из BACKUP_DIR | ||
| + | rm -rf " | ||
| + | rm -f " | ||
| + | rm -f " | ||
| + | |||
| + | docker-compose up -d | ||
| + | |||
| + | # Ротация: | ||
| + | cd " | ||
| + | |||
| + | BACKUPS_COUNT=$(ls -1 n8n_backup_*.tar.gz 2>/ | ||
| + | |||
| + | if [ " | ||
| + | TO_DELETE=$((BACKUPS_COUNT - MAX_BACKUPS)) | ||
| + | ls -1t n8n_backup_*.tar.gz | tail -n " | ||
| + | fi | ||
| + | </ | ||
| + | |||
| + | Делаем файл исполняемым | ||
| + | < | ||
| + | |||
| + | Добавьте запуск скрипта в cron для автоматического выполнения по расписанию: | ||
| + | < | ||
| + | |||
| + | Добавьте строчку\\ | ||
| + | 0 4 * * * / | ||
| + | |||