giu 032013
 

Recentemente un mio collega doveva eseguire più processi paralleli su un server (circa 20 nel nostro caso specifico), ogni processo faceva delle “cose”, e questo può richiedere un tempo più lungo o più corto rispetto agli altri, una volta che un processo termina il suo compito deve leggere da un file di testo la prima riga che indica l’ID di un nuovo lavoro, rimuove tale ID dalla parte superiore del file di testo e inizia ad elaborarlo.

Problema: su un lungo periodo (una elaborazione con più di 50K ID) capita “spesso” che 2 processi terminano nello stesso tempo e così entrambi hanno lo stesso ID causando problemi a tutto il processo, si è cercato di utilizzare un file di lock semplice facendo un “touch” quando il processo apriva il file con l’elenco di ID, ma sembra che questa operazione è troppo lento e abbiamo avuto ancora qualche caso di concorrenza fallito.

La soluzione è stata utilizzare la funzione di bash flock Continue reading »

flattr this!

gen 202013
 

alias.shSe sei un amministratore di sistema Linux o semplicemente si desidera salvare una copia dei vostri alias in rete, questo è il servizio che fa per voi!
alias.sh è un nuovo progetto che offre un servizio molto semplice: consente di gestire tutti i tuoi alias on-line e consultare una lista di nuovi alias presentati da altri. Dal terminale del desktop o un server, è possibile eseguire un singolo comando per copiare tutti gli alias nel sistema, o fare il contrario mettendoli nel vostro profilo nel caso ne avete bisogno.

Avrete alias pubblici, che tutti possono utilizzare e che è possibile condividere con gli amici e follower e alias privati​​, per il vostro utilizzo privato.

Continue reading »

flattr this!

dic 032012
 

In un sistema GNU/Linux ogni file o cartella ha delle autorizzazioni di accesso. Ci sono tre tipi di autorizzazioni (cosa è permesso fare con un file di qualsiasi tipo, incluse le directory):

(r) accesso in lettura
(w) accesso in scrittura
(e) accesso in esecuzione

Ci sono anche altre autorizzazioni ”speciali”, ma per questo articolo le autorizzazioni di base saranno sufficienti per illustrare come funziona umask, e le autorizzazioni sono definite per tre tipi di utenti:

il proprietario del file
il gruppo a cui il proprietario appartiene
Tutti gli altri utenti

umask (user mask) è un comando e una funzione in ambienti POSIX che imposta la modalità della maschera di creazione del file del processo in corso che limita le modalità di autorizzazione per i file e le directory create dal processo. Un processo può cambiare la modalità di creazione del file con la maschera umask e il nuovo valore viene ereditato dai processi figli.

In pratica con umask è possibile definire i permessi dei nuovi file che il processo creerà. Continue reading »

flattr this!

Gestire le attività pianificate su Linux con il comando at

In un prececente articolo Ho parlato dei comandi cron e crontab che sono il modo standard per pianificare le cose ricorrenti su un sistema Gnu/Linux. Ma a volte è necessario fare una cosa ad una specifica data ed ora per una volta sola e per queste attività l’opzione migliore è di usare at, un altro [...]

Linux shell, come usare l’opzione exec in find con esempi

In un precedente articolo ho scritto a proposito del comando locate un comando utile per trovare rapidamente un file nel computer. Un’alternativa a locate è il comando find : GNU find ricerca la struttura di directory radice in ciascun nome di file dato dalla valutazione dell’espressione data da sinistra a destra, secondo le regole di [...]