Estou tentando atualizar meu script de backup para salvar dados em um servidor remoto em vez de em um disco local.
Eu consegui converter o script inteiro, mas a última parte em que removi todos os arquivos do diretório, exceto o n
newest.
Para depurar e identificar a causa, eu removi temporariamente todas as variáveis.
O comando que desejo executar na minha máquina remota é o seguinte:
ls -tr1 /mnt/backup1tb/testarossa/test | tail -n +5 | xargs -d '\n' rm -f
Quando executo este comando, ele faz o que eu espero que ele faça. Ele deixa os 4 arquivos (ou diretórios) mais recentes e remove o resto.
Para executá-lo por SSH, tenho a seguinte linha no meu script:
foo='ssh $remoteuser@$remoteaddr ls -tr1 /mnt/backup1tb/testarossa/test | tail -n +5 | xargs -d '\n' rm -f'
Eu tentei remover a última parte, o | xargs -d '\n' rm -f
e que, de fato, retorna a lista de diretórios dos arquivos que precisam ser removidos. No entanto, adicionar a parte xarg não remove os arquivos.