ov3rm4n Posted October 29, 2003 Share Posted October 29, 2003 На няколко места из нета съм виждал да се процедира така - в корена на FTP сървъра на всеки половин час се създава файл в името на който се казва колко е свободното място на сървъра към момента. Мисля си, че е доста полезно за хората които ъплоадват - така ще са наясно дали за ъплоада им ще има място или просто както си ъплоадват ще зависне поради липса на такова. Освен това по същия начин може да се следи колко пълен е сървъра и ако примерно е над 90% да се извежда съобщение до юзърите, че започва преместване на файловете от FTP по другите директории. Така поне малко ще намалеят постовете от сорта "Къде изчезна еди-какво-си" и "Защо изтрихте еди-какво-си - не можах да си го сваля!"... Естествено няма да престанат съвсем, но ще намалеят, ако има къде хората да видят за какво става дума... И понеже лично мен "даването на акъл" просто ей така, по принцип, ме докарва до бяс, набързо съм спретнал тука подобен скрипт. На Perl е и може да се ползва за целта - изпробвал съм го. Само трябва да се променят пътищата, за да отговарят на тукашната система. Нямам претенции, че е написан кадърно и по-добре не може - напротив - със сигурност може и по-добре да се направи. Както казах - набързо съм го нахвърлял, за да не съм просто поредния "luser" дето мрънка "дайте това, дайте онова" без да предлага конкретно решение. Ако има въпроси или предложения за подобрения по скрипта - давайте. Макар че съм се старал да коментирам кое как и защо - все нещо съм пропуснал. А може и на някой да му свърши работа - ще бъда много доволен, ако ми пуснете мейл с линк към сървър на който сте го приложили... #!/usr/bin/perl use strict; my $ln; my $f = "Free.Space.Left.On.System-"; # Message to show. # Directory where the message will be placed - CHANGE VALUE BELOW! my $md = "/home/ftproot/upload"; # Take df output as input open DF,"df / --sync -h |"; while (<DF>) { # We need only that line with the numbers in it $ln = $_ if /\d+\w/; } close DF; # Get the values - note: $1 is Total space $2 is Used space $3 is Free space. # and $4 is percent of used space... $ln =~ /\s+(\d+\.?\d+\w)\s+(\d+\.?\d+\w)\s+(\d+\.?\d+\w)\s+(\d+%)/; # Just to be sure there will be no mess! chdir "$md"; # Erase file whit old message! unlink (glob("$f*")); $f.=$3; # Create message... # But, if the used space is more than 90%, tell the world whats going on! $f= "File.Move.In.Progress.Be.Patient!" if $4 > 89; # Finaly create file with new message... open F,">$f"; print F "FreeSpace monitor by ov3rm4n - snapshot taken at ",scalar localtime; close F; Link to comment Share on other sites More sharing options...
fon_tomov Posted October 29, 2003 Share Posted October 29, 2003 Ideiata ti ne e losha. Na men niakolko pati mi se e sluchvalo da nemoga da uploadna neshto paradi lipsa na miasto. Kato vzemem predvid, che az uploadvam sravnitelno riadko, to predpolagam, che horata, koito uploadvat po-chesto i po poveche se sbluskvat redovno s tozi problem. Mislia che v nikakav sluchai niama da e izlishno takova neshto. Link to comment Share on other sites More sharing options...
nassko Posted October 29, 2003 Share Posted October 29, 2003 Na men dosega ne mi se e slu4valo da niama miasto na FTP no vapreki tova privetstvam ideiata.Mnogo dobre bi bilo da ima podobna funkcia.Dano i adminite na FTP-to da preganat ideiata.... Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.