O que eu tenho
Eu tenho 2 servidores. Vamos chamá-los de sen.der
e recei.ver
.
O remetente gera arquivos; esses arquivos podem variar em tamanho de 20Kb a 30Gb.
Eu escrevi um script que verifica o tamanho do arquivo quando ele é gerado e, se for menor que 10Mb, envia o arquivo para recei.ver
via SFTP. Caso contrário, se for maior que 10Mb, divide em pedaços de 10Mb e os envia para recei.ver
via SFTP.
O tempo de envio é obviamente determinado pelo tamanho do arquivo e pela velocidade da linha. Essa velocidade de linha pode ser tão baixa quanto 100Kbps, o que teoricamente pode levar até 11 horas para transferir o maior arquivo.
O que eu preciso
O que eu estou tentando fazer é fazer com que recei.ver
automaticamente coloque os arquivos de volta em um grande (e execute alguns recados extras como untar, enviar e-mail de notificação, etc.).
O que eu poderia fazer
Eu poderia tentar usar inotifywait
com a opção -m
e, em seguida, verificar o tamanho dos arquivos que estão sendo gravados e, em seguida, colocar o lote quando o último arquivo criado tiver menos de 10.485.760 bytes.
Eu poderia catar os pedaços e testar o tar com tar tf <filename>; echo $?
Existe uma maneira melhor?
Provavelmente funcionaria ... Mas não parece elegante. Existe uma maneira melhor de fazer isso?