Дата: 2018-02-23

Автор: Newbilius

Подсмотрено тут.

  1. Подключаем репозиторий Synology Comunity
  2. Устанавливаем пакет Git
  3. Заходим в "Настройки -> Планировщик задач" (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


Поделиться ссылкой:
Facebook Twitter ВКонтакте

Комментарии (1 шт.)
[2018-10-10] Stopper
А зачем это нужно?


© Дмитрий Newbilius (программист)
и Дмитрий Hule (админ)
2010-2024 г.