Michele Liberi software
versione 1.04, giugno 2026
|
|
Michele Liberi
mail: mliberi@gmail.com
cell: +393485211456
telegram: @MicheleLiberi
|
liberix
- Presentazione
- Librerie
- Servizi
- Comandi
- rxc, esecuzione remota di comandi
- woha, web oriented hyerarchical database
- n, punto unico di controllo per N servers
- ck, controlli sui sistemi
- comm5, sincronizzazione di files
- comm7, sincronizzazione di files e metadati
- gcron, schedulatore globale
- logaway, gestione files di log
- nbru, gestione centralizzata dei backup
- kcc, il compilatore di shell scripts
- upload, accesso a web server
- www, HTTP client
- ftime, stampa informazioni sui files
- cpfl, archiviatore di files
- metafl, archiviatore di metadati
- mvfl, rinomina una lista di files
- lnfl, collegamento di una lista di files
- rmfl, cancellazione di una lista di files
- rxcp, copia di files
- afifo, gestione asincrona code fifo
- mq, interazione con server IBM MQM locale
- mqc, interazione con server IBM MQM remoto
- lra, interazione con il servizio lrm
- cofc, interazione con il servizio cofs
- pst, gerarchia dei processi
- dut, spazio utilizzato dalle directory
- ecut, estrazione dati da un file di testo
- ecomm, confronto righe di due files
- ejoin, unisce le righe di due files
- etee, duplicazione del flusso di input
- etr, converte o cancella caratteri
- ecat, concatenazione di file
- esort, ordinamento lessicografico di un testo
- sortbyll, ordina un testo in base alla lunghezza delle righe
- opmsr, ricerca e sostituzione di stringhe
- match, ricerca di stringhe
- cargs, verifica argomenti
- cenv, print environment variables
- yargs, esecuzione multipla di un comando
- tmout, lancia un comando con un tempo limite
- unchain, cancella catena di link simbolici
- rmlines, rimuove righe da un file
- yar, archiviatore minimale alternativo
- rows, trova righe in comune
- 3comm, comparazione file di testo
- now, cronometro per shell script
- systime, seconds since epoch
- bpwd, cambio della password non interattivo
- ckuserpw, controllo o cambio password
- 1moregrp, lancia un comando previa aggiunta di un gruppo
- memberof, incrocio utenti e gruppi
- lscron, lista di tutti i job lanciati da cron
- fdump, visualizza un file in esadecimale
- pol, calcolo di espressioni
- total, somma algebrica
- pths, ricerca di files nel PATH
- mynames, lista nomi di rete
- hostip, risoluzione nome di rete
- ckhosts, verifica file hosts
- des, data encryption standard
- tea, tiny encryption algorithm
- kc, un cifratore veloce
- keygen, genera una chiave casuale
- crypt, codifica una stringa
- cryptest, verifica validità password
- xor, cifratore binario
- hff, codifica decodifica di Huffmann
- sltn, interazione con un host remoto
- NCgrep, selezione di righe basata su regole
- accessx, accessibilità di files e directories
- rtest, accessibilità per utente reale
- u2d, converte un file da UNIX a DOS
- d2u, converte un file da DOS a UNIX
- ascii, tabella di codifica ASCII
- ebcdic, tabella di codifica EBCDIC
- asc2ebc, conversione da ASCII a EBCDIC
- ebc2asc, conversione da EBCDIC a ASCII
- id3, manipolazione metadati brani MP3
- woha2bash, converte un oggetto woha in una script bash
- img2html, converte immagini in tag HTML
- cgi, interazione con webserver
- cgisu, switch user per utenti CGI
- alert, invio di avvisi su più canali
- lnsm, invio e-mail
- logwriter, scrittura controllata file di log
- lspwdage, resoconto delle età delle password
- mon, lancia ciclicamente un comando
- eddy, selezione con editor di files da rinominare o cancellare
- mutuo, tabella ammortamento a rata costante
- sms, invio messaggi SMS
- aixb, backup completo del sistema AIX
- socktee, monitoraggio traffico su socket
- rowcmp, confronto di file di testo
- comb, combinazioni di N su K elementi
- pty, esecuzione batch di un programma interattivo
- openfds, lista dei descrittori in uso
- msleep, attende N millisecondi
- myid, estensione del comando id
- c7comp, comparatore di filetree
- str, estrazione di una parte di un bytestream
- X client
- Applicazioni web
- Siti web
- Applicazioni Android
- Programmi DOS
- Programmi Windows
- Installazione
- Licenza d'uso
gcron è uno schedulatore che permette di definire e gestire un insieme di JOB in un unico database centralizzato, ma che poi verranno eseguiti su un insieme di macchine (raggiungibili via TCP/IP), anche con sistemi operativi diversi.
Il gcron è un'evoluzione del concetto del crontab (strumento standard del mondo UNIX), con molte funzionalità aggiuntive.
La prima differenza, importantissima, è che il crontab lavora localmente, per cui un amministratore di sistema che si trovi nelle condizioni di amministrare più servers nella stessa rete dovrà gestire contemporaneamente più tabelle di crontab, una per ogni macchina.
Il gcron consente di avere un'unica tabella, multi server e multi utente, che può quindi essere gestita in modo assai più agevole su un solo server.
L'esecuzione dei comandi avviene remotamente, a mezzo del comando rxc.
La gestione centralizzata dei JOB consente di gestire in modo semplice e naturale quelle schedulazioni che non sono legate ad un server fisico, ma sono invece legate ad un servizio ad alta disponibilità che può migrare su più nodi di un cluster. Ad esempio un resource group di un cluster HACMP (IBM AIX).
Per stabilire quando un JOB dovrà essere posto in esecuzione, oltre ai classici parametri del crontab (ore, minuti, giorno, mese, giorno della settimana), gcron gestisce un ulteriore parametro T a mezzo del quale è possibile specificare un tempo minimo che deve passare tra un'esecuzione e la successiva.
In questo modo è assai semplice definire schedulazioni che devono essere avviate ad intervalli di tempo regolari, ad esempio ogni due ore.
Il crontab non dà nessun supporto per la gestione dei log, gcron invece salva il log (stdout+stderr) di ogni JOB posto in esecuzione ed il relativo return code.
Questi log possono essere successivamente consultati dalla GUI oppure direttamente su filesystem.
Per ogni schedulazione gcron mantiene solo gli ultimi N logfile, il parametro N è contenuto nella definizione del JOB.
In questo modo l'area dedicata ai logfile rimane più o meno stabile in termini di spazio disco occupato.
gcron mette in esecuzione un JOB solo se la precedente esecuzione è terminata.
Permette però (parametro maxT) di gestire un timeout, cioè un tempo massimo di esecuzione del JOB. Se allo scadere del tempo massimo il JOB è ancora in esecuzione, verrà automaticamente terminato.
In caso di return code diverso da zero gcron invia il file di log via e-mail ad una lista di utenti (parametro rcpts). Tale invio può avvenire opzionalmente anche in caso di esecuzione terminata senza errori (parametro info).
Un JOB può essere disattivato (parametro active), in tal caso rimane definito, ma non verrà più posto in esecuzione.
Particolarmente importante è il parametro LRs a mezzo del quale è possibile far partire il JOB solo previa allocazione di una o più risorse logiche.
Le risorse logiche sono simili a dei semafori, che però possono avere grado di parallelismo maggiore di uno.
Utilizzando le risorse logiche un JOB può essere sincronizzato con altri JOB definiti indipendentemente.
Il gcron ha una triplice natura:
- servizio
- comando
- applicazione web
In modalità servizio il gcron si comporta come un dèmone: rimane sempre attivo e ogni minuto verifica se ci sono JOB pronti per essere eseguiti ed eventualmente li lancia.
Per attivare la schedulazione il gcron deve essere lanciato, una sola volta, con opzione -daemon, ad esempio alla partenza della macchina.
Non è obbligatorio lanciare il dèmone, in alternativa è possibile lanciarlo ogni minuto tramite il crontab.
In modalità comando gcron può essere utilizzato per:
- listare tutti i JOB definiti (opzione -ll)
- visualizzare la definizione di un JOB (opzione -l)
- forzare il lancio di un JOB (opzione -f)
- abilitare un JOB (opzione -enable)
- disabilitare un JOB (opzione -disable)
La modalità applicazione web è quella full optional.
Un JOB gcron ha le seguenti caratteristiche:
- label
- Il nome del JOB.
- active
- Un JOB con il flag active=false rimane definito, ma non verrà mai schedulato.
- owner
- Lo username dell'utente che ha creato il JOB e ne è proprietario, quindi lo può gestire.
- host
- Il nome del server sul quale il JOB verrà schedulato. Può essere un nome oppure un indirizzo IP.
- user
- Lo username che verrà usato per porre in esecuzione il JOB.
- T
- Definisce il tempo minimo tra due esecuzioni del JOB. Se, ad esempio, vogliamo che il JOB giri ogni due ore possiamo impostare T=2h.
- HH
- Espressione regolare per l'ora in cui il JOB verrà lanciato.
- MM
- Espressione regolare per il minuto in cui il JOB verrà lanciato.
- day
- Espressione regolare per il giorno del mese in cui il JOB verrà lanciato.
- month
- Espressione regolare per il mese in cui il JOB verrà lanciato.
- wday
- Espressione regolare per il giorno della settimana in cui il JOB verrà lanciato.
- wom
- Espressione regolare per la settimana del mese in cui il JOB verrà lanciato.
Valori negativi indicano valori a ritroso rispetto alla fine del mese.
Ad esempio wom=-1 indica l'ultima settimana del mese.
- maxT
- Tempo massimo di esecuzione del JOB. Se il JOB non termina entro questo tempo gli viene inviato il segnale SIGTERM.
- nlog
- Il numero massimo di file di log che vengono mantenuti per questo JOB.
Al raggiungimento di questo numero massimo la creazione di un nuovo log implica la cancellazione del più antico.
- info
- Normalmente gcron manda una e-mail se il JOB termina con un return code maggiore di zero.
Se il flag info è true la e-mail viene inviata anche se rc=0.
- rcpts
- La lista degli indirizzi e-mail ai quali verranno inviate le e-mail di notifica.
Se la lista è vuota non verrà generata alcuna e-mail.
- lastrun
- Questo attributo viene valorizzato automaticamente e contiene il timestamp dell'ultima esecuzione del JOB.
- status
- Questo attributo viene valorizzato automaticamente e contiene il return code dell'ultima esecuzione del JOB.
- elapsed
- Questo attributo viene valorizzato automaticamente. Durante l'esecuzione del JOB contiene il runtime, al termine del JOB contiene il tempo totale di esecuzione.
-
- LRs
- La lista delle logical resorce (gestite dal servizio LRM) che il JOB deve acquisire prima di essere posto in esecuzione.
Si tratta di un importante meccanismo che permette di sincronizzare il JOB con altri JOB.
- notes
- Una descrizione del JOB, ad uso di mera documentazione.
- script
- La stringa da passare alla shell per l'esecuzione del JOB.
- priority
- Indica la priorità (cfr. nice system call) con la quale verrà lanciato il JOB.
Per ulteriori informazioni sulla sintassi di attivazione e sulle opzioni disponibili lanciare il comando con l'opzione -h.
(c) M. Liberi, last updated: 2026-06-15