Jestem uniksowym noobem, więc proszę o cierpliwość :-)
Mam skrypt, który przesyła wiązkę plików na inny serwer.
Załóżmy, że są to pliki z1.foo, z2.foo itp. Chcę skanować pliki i usuwać pliki starsze niż 5 dni na serwerze docelowym.
Jak bezpiecznie usunąć pliki z miejsca docelowego?
Dzięki.
find /path/to/files* -mtime +5 -exec rm {} \;
Odpowiedzi:
Aby usunąć pliki nieinteraktywnie:
źródło
servername@ipaddress:path/to/dir/
jestuser:password@ipaddress
lubuser:password@dnsname
możesz pominąć hasło, jeśli nie jest potrzebne. Właśnie go wypróbowałemroot@somednsname
i działa dobrze.path/to/dir
Część umieścić w polecenia rm, jako ścieżka bezwzględna, aby upewnić się, że jest poprawne.Możesz wykonać oba zadania w tym samym poleceniu, używając
--delete
flagi dorsync
.--delete
Opcja usuwa pliki z katalogu docelowego, że nie istnieją źródła. Istnieje kilka opcji dotyczących tego, kiedy pliki są usuwane i jak obsługiwać pliki wykluczone.Strona podręcznika zawiera również to ostrzeżenie:
źródło
Jeśli chcesz ustawić nazwę użytkownika i numer portu, możesz wykonać następujące czynności:
źródło