Portál AbcLinuxu, 28. října 2025 22:14
man tar
-N ....
Neodpovím, další podotázky:
Není jednodušší vytvářet tar již s požadovaným obsahem?
Je nutné používat tar, existuje-li např. rsync* utility?
Jaký je účel takového použití taru? (to měl být první dotaz)
PM
dobry den
Existuje avfs, coz je FUSE zalezitost pro mountovani ruznych ne-filesystemu.
Ve verzi v me distribuci to ma read-only podporu pro tar/gzip.
Takze neni problem pristupovat k jednotlivym souborum pomoci konstrukce find -print0 | xargs -0 ....
Rozhodne to ale nedoporucuji na produkcni nasazeni.
A parsovat vystup z 'tar -t --verbose' bych nedoporucoval uz vubec (osetrit vsechny pripustne znaky neni zadna sranda).
marek
Jde to třeba takhle:
#!/usr/bin/python
import tarfile, time
days = 30
now = time.time()
tarnew = tarfile.open('pokus_new.tar', 'w')
tarold = tarfile.open('pokus.tar')
count = 0
for item in tarold:
if not item.isfile(): continue
if (now-item.mtime)/86400 < days:
print item.name
content = tarold.extractfile(item)
tarnew.addfile(item, content)
count += 1
tarnew.close()
print count, 'items'
Vezme to pokus.tar a vytvoří pokus_new.tar, ve kterém jsou pouze soubory novější než 30 dní. O adresářích se mi nechtělo přemýšlet, takže je přeskakuju. Budou tam nějaké nebo to bude „plochý“ seznam souborů?
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.