Portál AbcLinuxu, 8. května 2025 00:46

Dotaz: Skript - mazanie po sidmich dnoch

4.11.2010 09:15 rm1610
Skript - mazanie po sidmich dnoch
Přečteno: 225×
Odpovědět | Admin
V skriptoch som zaciatocnik preto ospravedlnte blbe otazky alebo detske chyby. Na serveri mam adresar kde ludia davaju barsjake blbosti ktore po kratkom case stracaju na vyznamema. Skript ktory sa mi spusta kazdu noc. Prvi problem co mam je ten ze prvy riadok zamze subory starsie ako 7 dni ale adresare zostavali. Druhy riadok ma poriadit adresare co v podstate urobi druhi riadok ale co nechcem aby mazal aj adresar "exch". druhy problem je v tom ze sa mi zda ze obcas zmaze aj veci ktore mali menej ako sedem dni mam to dobre napisane ?

#!/bin/bash

find /raid/data/exch -type f -mtime +7 -exec rm {} \;

find /raid/data/exch -depth -type d -exec rmdir {} \;

Za kazdu radu dakujem :)
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

4.11.2010 09:31 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Skript - mazanie po sidmich dnoch
Odpovědět | | Sbalit | Link | Blokovat | Admin
find má parametr delete, kterým soubor rovnou smažete, není potřeba volat externí rm. Jak se to přesně má chovat pro adresáře? Má to smazat adresář starší než 7 dnů, i když jsou uvnitř mladší soubory? Nebo jen v případě, kdy je ten adresář prázdný?
4.11.2010 11:07 rm1610
Rozbalit Rozbalit vše Re: Skript - mazanie po sidmich dnoch
Mal by mazat iba prazdne adresare, Ak je v adresary novsi subor mal by zostat adresar. Kazdopadne adresar "exch" by mal zostat v kazdom pripade
4.11.2010 11:13 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Skript - mazanie po sidmich dnoch
Nestačilo by to takhle?
find /raid/data/exch -mindepth 1 -mtime +7 \( -type -f -or \( -type d -empty \) \) -delete
4.11.2010 12:04 Arno3t | skóre: 23 | Uherské Hradiště
Rozbalit Rozbalit vše Re: Skript - mazanie po sidmich dnoch
Ještě bych připojil drobnou poznámku k souborům mazaným dříve než za sedm dní. Pokud používáte Sambu a kopírujete z MS Windows, soubory si zachovávají původní datum změny (podle nastavení). Pak by možná bylo lepší použít místo přepínače mtime přepínač ctime.
4.11.2010 10:01 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: Skript - mazanie po sidmich dnoch
Odpovědět | | Sbalit | Link | Blokovat | Admin
miesto exec rm pouzi xargs. find ma o.i. aj parametre mindepth / maxdepth
find /raid/data/exch -type f -mtime +7 -print0 | xargs -0 rm -f
find /raid/data/exch -mindepth 1 -depth -type d -print0 | xargs -0 rmdir --ignore-fail-on-non-empty

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.