Eu sou um noob unix, então por favor seja paciente :-)
Eu tenho um script que scps um monte de arquivos para outro servidor.
Suponha que eles sejam z1.foo, z2.foo etc. O que eu quero fazer é scp e excluir arquivos com mais de 5 dias no servidor de destino.
Como faço para excluir com segurança arquivos do destino?
Obrigado.
find /path/to/files* -mtime +5 -exec rm {} \;
Respostas:
Para remover arquivos de forma não interativa:
fonte
servername@ipaddress:path/to/dir/
?user:password@ipaddress
ouuser:password@dnsname
você pode omitir a senha, se não for necessário. Eu apenas tenteiroot@somednsname
e funciona bem. Apath/to/dir
parte que coloquei no comando rm, como um caminho absoluto, para garantir que esteja correta.Você pode realizar as duas tarefas no mesmo comando usando o
--delete
sinalizador pararsync
.A
--delete
opção remove arquivos do diretório de destino que não existem na fonte. Existem algumas opções sobre quando os arquivos são excluídos e como lidar com arquivos excluídos.A página do manual também contém este aviso:
fonte
Se você deseja definir o nome de usuário e o número da porta, faça o seguinte:
fonte