Script Powershell para sysadmin baixar backups regularmente do servidor para o computador

Bom ponto, obrigado pelo script. Deixe-me compartilhar a versão do rsync :slight_smile: .

No exemplo abaixo, sql e anexos são sincronizados separadamente. Não há necessidade de incluir anexos no arquivo de backup. Também não há necessidade de excluir backups antigos.

Eu uso Chocolatey para instalar cwrsync. Após a instalação, basta adicionar algumas linhas ao final do arquivo cmd + criar um agendamento:

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

Por exemplo:

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/

Observação 1: Use /cygdrive/c/ em vez de C:, leia o arquivo cmd para referência e sintaxe.

Observação 2: Você pode modificar o comando para usar senha em vez de chave ssh (formato PEM)

Observação 3: Se você não colocar uma barra após a pasta dump/, o rsync copiará a pasta, mas se você colocar, ele copiará apenas o conteúdo da pasta.

Observação 4: Se o chocolatey atualizar o cwrsync, ele cria um backup do cmd anterior na mesma pasta. Você precisa copiar seus comandos para o novo cmd manualmente para continuar os backups.

Importante: Defina a mesma regra no Agendador como o OP escreveu. A linha do agendador é:

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

Isso anexará a saída ao arquivo cwrsync.txt. É tudo.

3 curtidas