Neste post você aprenderá como programar um backup com o rsync no Linux.
O que é o rsync ?
De acordo com a pagina "man", "Rsync é uma ferramenta de cópia rápida e extraordinariamente versátil. Ele pode copiar localmente, para / de outro host sobre qualquer shell remoto, ou para / de um daemon rsync remoto. Ele oferece um grande número de opções que controlam todos os aspectos do seu comportamento e permiti uma especificação muito flexível dos arquivos a serem copiados. É famosa por seu algoritmo delta transferência, o que reduz a quantidade de dados enviados através da rede, enviando apenas as diferenças entre os arquivos de origem e os arquivos existentes no destino. Rsync é amplamente utilizado para backups e espelhamento e como um comando de cópia melhorada para uso diário."
Instalando o rsync
Todos os comandos aqui apresentados estão baseados na distribuição Debian.
O primeiro passo é instalar o rsync. Supondo que você seja usuário root digite:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgc-U4HC1WZS9Vm0QqMRry9zrQxl9GUx-pQXT8P8cAGRtlbWV9vMLn8n0WiYCKWoPvhBz2Ecl_U05lPvswQFjdrNXGvW5TPyuxOM0TVD5sT2FASAJzwGCKXUxqxkmBsxHmbsA28XaIIxSyM/s1600/img1.jpg)
Agora crie um arquivo, script, para adicionar as regras das quais achar conveniente.
Neste exemplo foram usados as seguintes regras:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_h-XZG8l0j85nQZMS0Cugy-WbrdKP3bHaB5bvMzqq8B53KxtSvZKTxbRWbngcoYo2qk4bGu5sMrAwscD9LbFfBgj3a_TukNR5zUF6aZUD2Uu_jUb-NI0h43EP2GMoVYddz9V32dwRHbzX/s1600/img3.jpg)
Explicando o arquivo...
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwka_VfroDGi_ZyEqJEFBaXXVXBXRQZ8rHZRC_q5SbvCaFuU2jsfidM5vzWboPvnLvYbegrxKNWYR89m595wHWgarzI-1vQ03JohiHGzXXp6ZlmOkm9MYUGA35IScuDRoBv4UokCtkZ6Go/s1600/img4.jpg)
Aviso ao interpretador de comandos que deve ser utilizado o bash.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUuoYdUmLjcq27Qg-SWnX4FWpU4C4piLWiKrdD6s-6czcidx1mhQHlTAfD4PDY6ShlJgy70yKoSvKvMQWAUqL_6GgnGGcsedeTk-rWcU-RvC3tulnXRb5g48MATnSswD2_vijoVxIbOenh/s1600/img5.jpg)
Armazena o momento de início na variável INICIO, no formato dd/mm/yyyy-hh:mm:ss.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinb8OprGp0pIcv6iawdnF9bdMyQ7MHnSwsfdPHDSpj_oY3t_tdS91RZfvFvWZZDNjyAGULTLRZtsggOyvBzyuOCqO5zlzue1HNUS4Pr7NaczeJbzrqN62cIjdo77SEFvih6vJ16czvpBFY/s1600/img6.jpg)
Armazena na variável LOG qual o arquivo que deve ser gravado um registro do backup, no formato yyyy-mm-dd_nome-do-arquivo.txt.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwpxT4xlqC7FLlI3yq8GuAvefVz8I4Mn-T_yClwyw369e-y0ukSPmNqtpaoOIIW_DZ8cYzSBjcGJfmXHNfeKzUvr6x21fU-3G1XU2eqbejNXdKolEvx9ZBp6lIBkj-5lmT9HQsnVUROjQl/s1600/img7.jpg)
Mantendo esse arquivo, pode ser muito útil para que possa verificar se os backups têm sido realizados corretamente. Cria o início do registro de log no arquivo, gravando um cabeçalho no qual insere a data e hora do início do backup.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTEb6YE0CjBEEf3CWW4fB5oYU5ViVXhOS2UfBO4C7BT5QdCMZH9MqYuRwlA-rhfpBCVD7kBD6K-Gx9eJDgl5TnOrYXKTDLM5O1M79nmt8z-diGzo4HsozUc74KNGw6VX9U1OMobdtS_SfR/s1600/img8.jpg)
Essa é a linha que realiza o backup de fato. Ela invoca o comando rsync e fornece os parâmetros de quais arquivos copiar e para qual destino. A cada arquivo copiado, uma linha será inserida no arquivo de log. Dessa forma, o administrador pode saber quais arquivos foram copiados no backup de determinado dia.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrG7RbPpQjfb6rPXtkGUAOm_k0yGlf9tb2dlVuXbhyphenhyphenhuTmOqh2wsz35s-KG_b0mt5TwzdytKFtRB7byGBc20KwAkoDPGcEeIOFr3zAPItxpW5qiVTSB4dRKvdGlxI77veSlc-W0Aj9X7Pc/s1600/img9.jpg)
Armazena o momento de término do backup na variável FINAL, no formato
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnLw-X4ssRS2hyMO1POCdxQqGs2W9dftgMBcjNlyWskm82l1ggmpYDU4vF-ANQjXZCdCaNggwE5mdKHr9rCP3DqKQqUqxSr1_mTDIwVy7M7yLMsjJlkdnsApp50S-nWHPKLdx6EURfd4n_/s1600/img10.jpg)
Finaliza o arquivo de backup com um rodapé no qual insere a data e hora do término do backup.
Observações: Caso deseje alterar os parâmetros do rsync para a cópia, consulte o manual do rsync com o comando man rsync. Sugiro criar uma pasta em /var/log com o nome rsync e gravar todos os logs do rsync nessa pasta.
Utilizando o Cron para realizar o backup
O cron é um serviço do Linux que é carregado durante o processo de boot do sistema. Ele funciona como um agendador de tarefas e permite agendar a execução de comandos e processos de maneira repetitiva ou para uma data específica.
Acesse o crontab com o comando:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN6IeTHSjp_Gv_zPozwFk8V06N2WWbVr2kqnJeQDZQBunMK2RIQdR4JKFQRwylqWhVkRarW60f3CHUx8aPwIWeXdyS4See_2yPPsd0CV_37G7HWcf6epM91XKUy2He9ukdvAtWh_jxAWVi/s1600/img11.jpg)
Adicione a seguinte linha:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0-uVkKAgToFMCoqrNuwRpxF4jkit74nmsor0-8-vWh9L75i4njATWnqCnoPmuQpAHRtrU8MtfGeleA8VgFeGGaeyqPBmhlrZAxdaybkol0-WPLzAI9HK4fhLyoej0mmFDw6tFR_gI45kP/s1600/img12.jpg)
Isto significa que o comando "/local-do-script" irá rodar todo dia as 22h.
Nenhum comentário:
Postar um comentário