Backup Automatico Com Rsync e Crontabb

Embed Size (px)

Citation preview

  • 8/18/2019 Backup Automatico Com Rsync e Crontabb

    1/3

    Necessario criar relação de confiança SSH com chaves rsa.

    ### rsync

    ## instalar o rsync em ambos os servidores

    apt-get update

    apt-get install rsync

    ##criar o arquivo de script e colocar no diretorio do usuario que ira logar no servidor remoto

    Exemplo:

    touch backup.sh

    ### Editar o arquivo de script:

    vim backup.sh

    -----------------------------------------------------------------------------------------

    #!/bin/bash

    INICIO=`date +%d/%m/%Y-%H:%M:%S`LOG=/var/log/rsync`date +%Y-%m-%d`_nome-do-arquivo-de-log.txt

    echo " " >> $LOGecho " " >> $LOGecho "|-----------------------------------------------" >> $LOGecho " Sincronizaç iniciada em $INICIO" >> $LOG

    rsync -Cravzp /local-pasta-backup usuario@local:/local-remotoFINAL=`date +%d/%m/%Y-%H%:M:%S`

    echo " Sincronizaç Finalizada em $FINAL" >> $LOGecho "|-----------------------------------------------" >> $LOGecho " " >> $LOGecho " " >> $LOG

    -----------------------------------------------------------------------------------

    ##### Salve o arquivo e de permissoes de execussão

    chmod 775 backup.sh

    chmod +x backup.sh

    ----------------------------------------------------------------------------------

  • 8/18/2019 Backup Automatico Com Rsync e Crontabb

    2/3

    #### agendar a tarefa no crontab

    Editando o crontab:

    # crontab -e

    Feito. Precisamos agora adicionar o período (tempo) que o cron deve chamar o nosso script de backup.

    A sintaxe do crontab é bastante fácil de se trabalhar. A sintaxe para chamar nosso script deve ficar assim:

      mm HH DD MM DS /usr/local/bin/backup.sh

    Onde:

      mm: minutos  HH: horas  DD: dia  MM: mês  DS: dia da semana

      /usr/local/bin/backup.sh: tarefa a ser realizadaNeste exemplo, faríamos com que o script seja executado todos os dias as 22hrs. Veja:

      00 22 * * * /usr/local/bin/backup.sh

    Pronto. Salve o arquivo, e reinicie o cron para que a rotina funcione:

    # /etc/init.d/cron restart

    Para visualizar os agendamentos feitos (por usuário), use:

    # contab -l

    Se desejar apagar os agendamentos, digite o comando:

    # crontab -r

    Existe ainda uma outra maneira de montarmos os agendamentos com o cron. Através dos comandos do crontab, como no exemplo citado acima, os agendamentos são criados apenas para o usuário corrente, ou seja, o usuário que esta digitando o comando. Editando diretamente o arquivo de configuração do crontab, um novo campo é adicionado a sintaxe. Este campo, é o campo usuário. Ele é adicionado para que possamos determinar usuários para cada tarefa ou rotina a ser realizada.

    # kedit /etc/crontab

    A nova sintaxe ficará assim agora:

      mm HH DD MM DS U /usr/local/bin/backup.sh

    Onde:

      mm: minutos  HH: horas

  • 8/18/2019 Backup Automatico Com Rsync e Crontabb

    3/3

      DD: dia  MM: mês  DS: dia da semana  U: nome do usuário especificado  /usr/local/bin/backup.sh: tarefa a ser realizada

    Para finalizar, dentro do diretório /etc, existe temos quatro agendamentos pré-definidos:

      cron.hourly, cron.daily, cron.weekly e cron.montly.

    Onde:

      cron.hourly: de hora em hora  cron.daily: de dia em dia  cron.weekly: de semana em semana  cron.montly: de mês em mês

    Exemplo: Para que nosso script de backup seja executado diariamente, basta copiarmos o script para /etc/cron.daily

    # cp /usr/local/bin/backup.sh /etc/cron/daily

    Para finalizar, após copiar o script para o diretório desejado, é necessário reiniciar

     daemon do cron, para que as alterações entrem em vigor.# /etc/init.d/cron restart

    Você pode verificar mais opções consultando o manual do cron. Boa sorte ;-)

    # man cron