#!/usr/bin/env bash # Ежемесячная проверка копии на VPS: читает часть данных, восстанавливает # папку с документами и сверяет файлы старше двух суток с оригиналом. set -euo pipefail export RESTIC_PASSWORD_FILE=/etc/restic/password export RESTIC_REPOSITORY_FILE=/etc/restic/remote-url SOURCE=/srv/data/docs TARGET=$(mktemp -d /var/tmp/restore-drill.XXXXXX) trap 'rm -rf "$TARGET"' EXIT restic check --read-data-subset=5% restic restore latest --target "$TARGET" --include "$SOURCE" fail=0 while IFS= read -r -d '' file; do if ! cmp -s "$file" "$TARGET$file"; then echo "Не совпадает: $file" fail=1 fi done < <(find "$SOURCE" -type f -mtime +2 -print0) exit "$fail"