Kako pobrisat 1M fajlov v direktoriju?
9 naročnikov
9 naročnikov
Prosim, da se ne rezite, ampak tudi to se lahko zgodi :D ... Sicer mi je uspelo - po dveh dneh, ampak me zanima, ce bi lahko stvar naredil tudi hitreje :)
Problem je ker brisanje - ne glede ali z rm ali find | rm popolnoma zabije server - ta problem sem vsaj priblizno resil z "nice -n 19 ionice -c3 ...", ampak se vedno ostaja problem, da se rm sesuje ko hoces naenkrat pobrisat vec kot doloceno stevilo 50k? datotek (prevec args) ...
18 odgovorov
Undelete :) Unformat... bil je hec... ne da se mi delat.
Oziroma danes ne čutim več tistega vznesenega duha delovnega ljudstva (sicer sem pa že veliko postoril)
Eh, poznam eno dobro rešitev. "format C:", po formatiranju pa neseš disk h Kotarju, da ti restorajo fajle, ki jih rabiš. :D
hmm... kaj pa ce das apaćiju dostop do tega dira in poskusas nekaj takega:
if ($handle = opendir('/path/to/files')) {
$i = 0;
while (false !== ($file = readdir($handle)) && $i<100) {
unlink($file);
$i++;
}
closedir($handle);
}
header('location: talemojfajlkivsebrise.php');
sem samo na hitro zmetal nekaj skupaj... nisem sel zares testirati zadeve :)
Je malce debilna opcija ampak kaj ko bi dal brisat preko midnight commanderja (bo trajalo samo bo počasneje pa ne bo tako obremenjevalo)
Mogoče nisem šel probavat...
@bl4ckb1rd: ce ne gre drugace, je vcasih tudi php cisto okej
Jaz sem na podoben nacin preselil 200k+ fotk, ker jih je bilo treba vmes se rinejmat in dodat v bazo. Ce se prav spomnim, je trajalo manj kot pol ure.
Nisem pa nek hardkor sistemc in o *nix sistemih nimam kaj dosti pojma
bl4ckb1rd:
nisi resen, da boš šel 1 miljon failjov s phpjem brisat :)
To sem tud jest najprej pomislu, ampak dokler ne sprobamo se ne ve koliko bi stvar obremenila server, ker konec koncev cas niti ni tak velik problem, dokler je server normalno odziven ... Na sicer pa je zdaj pociscno in cron pridno skrbi da se dogodek ne bi vec ponovil ;)