Rsync e Perl: Sincronização de arquivos com gestão de backup incremental integrada
Olá pessoal Este script usa o rsync para fazer a sincronização dos aquivos onde você definir ($to, $from) e também guarda os arquivos modificados em um diretório ($backup) separado, onde cada rodada do rsync recebe um subdiretório com a data em que foi feita. É como um backup incremental, mas com um full backup a cada rodada. Além disto há um sistema de limpeza automática. A cada backup, uma sub-rotina especial limpa os backups que tenham uma idade especificada em dias (definida em $maxAge, o padrão é 90). Tudo foi configurado de forma segura. Em caso de erro no rsync a limpeza de backup é cancelada. Se nenhum diretório de backup for definido, nenhuma função de backup será usada e assim por diante. Ele tem uma verbosidade bem chata, chega a ser uma verborragia, mas é assim porque o fiz assim para acompanhar o funcionamento do Perl. Também tem um adicional. Uso o mesmo script para fazer vários backups de várias coisas diferentes. Então ele pode ser modificado, sem grandes esforços, para receber vários comportamentos diferentes, se estiver interessado em modificações sugiro uma visita na sub-rotina Behaviour(). Sintaxe: script comportamento configurações ex: script sistema restore: restaura o sistema a partir do backup script games test: roda o rsync em modo seguro, para testes PS: eu sei que meu código é grande, sujo, tem cheiro de javascript e gosto de php ;)
Por: Bruno Rafael Santos
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
usb's param de funcionar do nada (2)
manjaro 22xx nativo para minha sbc, deu certo. (13)
como eu instalo o mali-t60x_r12... [RESOLVIDO] (6)