Jak zabalit soubory, které najde příkaz find?

fotka

  • ***
  • 216
    • Zobrazit profil
    • Linux forum
    • E-mail
Jak zabalit soubory, které najde příkaz find?
« kdy: 09. 08. 2014, 16:52:15 »
Dobrý den,

v jednom adresáři na linux serveru mám soubory s právy 700 (jsou to bash skripty) ale je tam spousta dalšího haraburdí a adresářů.

Já potřebuji linux příkaz, který mi zabalí do tar archivu pouze tyto soubory s právy 700 a více, nerekurzivně. Tak jsem přišel s tímto:

find /root/* -prune -type f ! -perm -777

to zobrazuje to co chci zálohovat, teď ale nevím jak by měl vypadat příkaz, který to zabalí, tedy mým cílem je abych dal jeden příkaz do cronu a automaticky mi to zabalilo tyhle soubory a pak si to nechám poslat na email jako zálohu..

jestli by byl někdo laskav a napsal by jak to má vypadat

(jsem lama)

děkuji
« Poslední změna: 11. 08. 2014, 23:04:37 od Roman Bořánek »
Linux nováček - CeskeForum.com


fotka

  • ***
  • 216
    • Zobrazit profil
    • Linux forum
    • E-mail
Re:Jak zabalit soubory, které najde příkaz find ?
« Odpověď #1 kdy: 09. 08. 2014, 17:17:05 »
tento příkaz mi fungoval, ale nevím jestli nemá nějaké mouchy

find /root/* -prune -type f ! -perm 677 -exec tar rvf rootscripts860vm.tar {} \;
Linux nováček - CeskeForum.com

Franta.

Re:Jak zabalit soubory, které najde příkaz find ?
« Odpověď #2 kdy: 09. 08. 2014, 18:09:02 »
To má akorát nevýhodu, že to bude opakovaně otvírat a zavírat ten soubor s archivem.

V man tar jsem našel:

     -T, --files-from FILE
           get names to extract or create from FILE


takže by sis mohl ten seznam uložit do dočasného souboru a pak ho načíst tarem.

A také viz příručka na GNU.org: 6.3 Reading Names from a File – tam mají přímo příklad s tím findem.

Případně by šel ten seznam souborů předat jako argument na příkazové řádce, ale to není moc dobré, pokud je těch souborů hodně.

Další možnost by byla předat ten seznam jako argument na příkazové řádce, ale

Re:Jak zabalit soubory, které najde příkaz find ?
« Odpověď #3 kdy: 09. 08. 2014, 18:11:36 »
man cpio

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail


Někdo

Re:Jak zabalit soubory, které najde příkaz find ?
« Odpověď #5 kdy: 09. 08. 2014, 21:41:24 »
V man tar jsem našel:

     -T, --files-from FILE
           get names to extract or create from FILE


takže by sis mohl ten seznam uložit do dočasného souboru a pak ho načíst tarem.

A také viz příručka na GNU.org: 6.3 Reading Names from a File – tam mají přímo příklad s tím findem.

Nejdůležitější je tato informace, s tím by měl jít spojit find a tar přes rouru (pipe) a bude to dělat přesně to co je potřeba:

If you give a single dash as a file name for `--files-from', (i.e., you specify either --files-from=- or -T -), then the file names are read from standard input.

Re:Jak zabalit soubory, které najde příkaz find ?
« Odpověď #6 kdy: 10. 08. 2014, 00:07:52 »
Hlavně nezapomenout dát findu --print0 a taru --null