- Подключаем репозиторий Synology Comunity
- Устанавливаем пакет Git
- Заходим в "Настройки -> Планировщик задач" (Task sheduler)
Вбиваем вот такой вот скрипт и живём долго и счастливо:
#!/bin/sh
set -ex
USER="newbilius"
API_URL="https://api.github.com/users/${USER}/repos?type=owner&per_page=100"
DATE=$(date +"%Y%m%d")
TEMP_FOLDER="backup"
TEMP_PATH="/volume2/backup2/github"
TEMP_FULL_PATH="${TEMP_PATH}/${TEMP_FOLDER}"
BACKUP_FILE="github_${USER}_${DATE}.tar.xz"
# Очистка временной папки
rm -rf "$TEMP_FULL_PATH"
mkdir "$TEMP_FULL_PATH" && cd "$TEMP_FULL_PATH"
curl -s "$API_URL" | grep -Eo '"git_url": "[^"]+"' | awk '{print $2}' | xargs -n 1 /volume1/@appstore/git/bin/git clone
cd ${TEMP_PATH}
tar -Jcf "$BACKUP_FILE" --directory="$TEMP_PATH" "$TEMP_FOLDER"
rm -rf "$TEMP_FULL_PATH"
# Удаление архивов старше 30 дней (если оно вам надо)
find $TEMP_PATH/*.xz -type f -mtime +30 -delete
Комментарии (1 шт.)
А зачем это нужно?