Скрипт PowerShell для системного администратора для регулярной загрузки резервных копий с сервера на компьютер

Хорошая идея, спасибо за скрипт. Делюсь версией rsync :slight_smile:.

В примере ниже SQL и вложения синхронизируются отдельно. Нет необходимости включать вложения в файл резервной копии. Также не нужно удалять старые резервные копии.

Я использую Chocolatey для установки cwrsync. После установки нужно лишь добавить несколько строк в конец cmd-файла и создать расписание:

C:\ProgramData\chocolatey\lib\rsync\tools\cwrsync.cmd

Например:

rsync -rvm --delete --ignore-errors --ignore-existing --size-only --chmod=ugo=rwX -e "ssh -i /cygdrive/c/Users/user1/.ssh/id_rsa" login@host:/var/discourse/shared/standalone/backups/default/ /cygdrive/d/backup/forum/db/

rsync -rvm --delete --ignore-errors --ignore-existing --size-only --chmod=ugo=rwX -e "ssh -i /cygdrive/c/Users/user1/.ssh/id_rsa" login@host:/var/discourse/shared/standalone/uploads/ /cygdrive/d/backup/forum/uploads/

Примечание 1: Используйте /cygdrive/c/ вместо C:, обратитесь к cmd-файлу для справки по синтаксису.

Примечание 2: Вы можете изменить команду для использования пароля вместо SSH-ключа (формат PEM).

Примечание 3: Если вы не добавите слэш после папки dump/, rsync скопирует саму папку; если добавите — скопирует только содержимое папки.

Примечание 4: Если Chocolatey обновит cwrsync, он создаст резервную копию предыдущего cmd-файла в той же папке. Вам нужно вручную перенести ваши команды в новый cmd-файл, чтобы продолжить резервное копирование.

Важно: Установите то же правило в Планировщике, как написал автор оригинального поста (OP). Строка для Планировщика выглядит так:

C:\ProgramData\chocolatey\lib\rsync\tools\cwrsync.cmd >> d:\backup\cwrsync.txt 2>&1

Это добавит вывод в файл cwrsync.txt. Вот и всё.

3 лайка