Bom ponto, obrigado pelo script. Deixe-me compartilhar a versão do rsync
.
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.