paulo1205 escreveu:
A inteligência tem de ficar o script?
A pergunta é pelo seguinte: se os back-ups diários são feitos via tarefa no crontab, também uma tarefa no crontab agendada para o último dia de cada mês ou para o primeiro dia do mês seguinte poderia ser agendada para fazer a cópia do arquivo, com isso possivelmente facilitando a lógica de identificar qual seria o arquivo a ser copiado.
Claro que há outras formas de fazer, inclusive de forma completamente independente de como os arquivos são gerados. Essas soluções independentes são mais gerais, mas necessariamente terão de ser mais inteligentes, e terão de ser mais sofisticadas quanto mais aptas forem de identificar exceções (por exemplo: se a máquina estava off-line no momento do back-up/i] do último dia do mês anterior, o [i]script tem de tentar pegar o último que estiver disponível, ou simplesmente se ignora a cópia?).
Também fatores ambientais podem facilitar ou dificultar o processo. Por exemplo: se o nome do arquivo incluir a data de realização do back-up, isso pode facilitar a lógica de detecção, e se a data for num formato yyyymmdd (ano, mês, dia) será ainda mais fácil do que se for ddmmyyyy (dia, mês, ano) ou mmddyyyy (mês, dia, ano). E, também, dependendo desses fatores ambientais, usar ls pode ser uma boa ideia, mas também pode não ser tão boa assim (por exemplo: se houver muitos (da ordem de milhares para cima) arquivos no diretório de origem), podendo ser melhor usar algo como o find em seu lugar.
... Então Jesus afirmou de novo: “(...) eu vim para que tenham vida, e a tenham plenamente.” (João 10:7-10)
Bom dia
@paulo1205!
Vou tentar detalhar melhor rs:
Atualmente, existe uma pasta que recebe arquivos de backup (criados por uma rotina no crontab) e, nesta
mesma pasta, outra rotina faz a exclusão de arquivos antigos, deixando apenas os 5 mais recentes (outra rotina diária
no crontab).
Agora eu quero pegar o último arquivo gerado em um mês e salvá-lo em uma pasta mensal (isso por rotina via crontab)
, entretanto os arquivos não são criados aos fins de semana.