number of physical sockets and cpu cores
a small script to check out the number of processors in your linux machine mandatory sample output:
a small script to check out the number of processors in your linux machine mandatory sample output:
A quick and dirty way to send a bunch of commands to any ssh device (in my case, Cisco appliances)… create a plain old batch file with commands echoed inside: execute the batch, piping its output to plink.exe (putty command link ssh client): c:\> commands.bat | plink -ssh -l username -pw password 11.22.33.44
Giocando con Sinatra ho avuto l’esigenza di servire una determinata pagina solo con un certa frequenza (tecnicamente un rate-limit); la cosa si puo’ fare installando il middleware Rack:Throttle ma non volevo aggiungere un’altra gemma alle dipendenze… In questo esempio se al server arriva piu’ di una richiesta in un intervallo di cinque secondi, rispondiamo a tono… SECONDS_BETWEEN_REQUEST=5 enable :sessions def ratelimit? now=Time.new.to_i session['lastrequest']||=0 #inizializza se non presente result=(now-session['lastrequest'])<SECONDS_BETWEEN_REQUEST #passati dall'ultima richiesta ? session['lastrequest']=now # aggiorna return result end get '/' do if ratelimit? return "<h1>sorry, rate limit exceeded!</h1>" end "<h1>hello!</h1>" end
Mi e’ capitato di inserire degli script nelle varie directory /etc/cron.daily, /etc/cron.weekly ma di scoprire che questi script non vengono eseguiti. Il motivo e’ che il run-parts usato nelle Debian e derivate ignora i file che contengono un “.” (e quindi tutti quelli con l’estensione) Questo comportamento e’ documentato anche nella man page, e previene alcuni inconvenienti come l’esecuzione dei .bak ma lo scrivo anche qui per ricordarmelo … E forse potra’ essere utile a qualcun altro :) ...