Archivio

Archivio per la categoria ‘Shell’

Modifica massiva password degli account FTP di Plesk

3 giugno 2011 Nessun commento

Se avete la necessita’ di modificare tutte le password degli account FTP di Plesk potete utilizzare via shell il seguente script:

for i in $(mysql -NB psa -uadmin -p`cat /etc/psa/.psa.shadow` -e ‘select login from sys_users;’); do export PSA_PASSWD=`$(openssl rand 6 -base64)` ; /usr/local/psa/admin/bin/usermng –set-user-passwd –user=$i; echo “$i: $PSA_PASSWD” >> ftp_password; done

Lo script in questione genera delle password random per ogni account e il risultato verra’ inserito all’interno della tabella associativa username/password all’interno del file “ftp_password”.

Calendar su GNU/Linux

3 novembre 2009 1 commento

Questa guida vi spiegherà come configurare un servizio di appuntamenti utilizzando il comando calendar da riga di comando, presente nella maggior parte dei sistemi GNU/linux.
Analizzeremo due casi specifici: calendar ci avviserà ad ogni nuova connessione via shell; calendar ci comunicherà via email i nostri appuntamenti.
Ora dobbiamo creare un file nella home dell’utente, che verrà letto da calendar ad ogni nostra richiesta.

mkdir ~/.calendar
vi ~/.calendar/calendar

Ad ogni invocazione di calendar se il nostro sistema non trova il file presente nella home dell’utente verranno interrogati i file:

/etc/calendar/ o all’interno di /usr/share/calendar/

Per maggiori info sulla gestione di tali file:

man calendar

Ora torniamo al nostro file calendar, che supporta diverse modalità di utilizzo. Analizziamo le opzioni più importanti. In generale conviene limitarsi a scrivere righe secondo la sintassi seguente, senza commenti e lasciando eventualmente solo righe vuote o bianche:

data\tdescrizione

Tra la data e la descrizione ci deve essere un codice di tabulazione orizzontale (\t), fate particolarmente attenzione alla tabulazione (soprattutto se fate copia e incolla) altrimenti calendar ignorerà le righe senza tabulazione.

Riporto qualche esempio:

11.02 Fare gli auguri al mio amico Pippo che è nato il 2 novembre del 1980.

Ora riportiamo un esempio in cui è possibile specificare il giorno della settimana:

Sun Oggi è domenica.

Questo messaggio verrà visualizzato tutti i 27 di ogni mese

.27 Oggi è giornata di paga.

Esistono dei termini che vengono riconosciuti automaticamente da calendar, tipo:

Easter* Buona pasqua!
Easter-2 Buon venerdì di pasqua, fra due giorni è la domenica di pasqua.
Easter+1* Pasquetta.

11 Fri+1 Primo venerdì di novembre.
11 Fri+2 Secondo venerdì di novembre.
11 Fri+3 Terzo venerdì di novembre.
11 Fri-3 Terzultimo venerdì di novembre.
11 Fri-2 Penultimo venerdì di novembre.
11 Fri-1 Ultimo venerdì di novembre.

Per convenzione le date con l’* sono riconosciute come festività. Altre date utili:

01.01* capodanno
01.06* epifania
04.01 pesce di aprile
04.25* liberazione
05.01* festa del lavoro
08.15* ferragosto
11.01* tutti i santi
12.08* immacolata
12.25* natale
12.26* S. Stefano
12.31 ultimo dell’anno

Ora inserendo dentro il file .bashrc il comando :

calendar

ogni volta che ci collegheremo alla console verrà richiamato il comando.

Nella seconda modalità di utilizzo ci facciamo inviare una email quando c’è un evento in calendar. Per fare questo dobbiamo fare un piccolo script con il seguente contenuto:

vi miocalendar.sh

#!/bin/bash

set -e

if [ $(/usr/bin/calendar -l 5|/usr/bin/wc -l) -gt 0 ]; then
TESTO=$(/usr/bin/calendar -l 5);
/usr/sbin/sendmail -f alias@domainmittente.ext alias@domaindestinatario.ext << EOM
From: alias@domainmittente.ext
Subject: MioCalendar
To: alias@domaindestinatario.ext
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Status: RO
X-Status:\n\n”;

$TESTO

EOM

fi

Con l’opzione -l 5 diciamo a calendar di avvisarci 5 giorni prima dell’evento. Infine diamo i permessi d’esecuzione allo script:

chmod 755 miocalendar.sh

Ora inseriamo nel file cron dell’utente le seguenti istruzioni:

crontab -e

59 01 * * * ~/miocalendar.sh

Linux – Conoscere l’username da id

26 settembre 2009 Nessun commento

Per risalire al nome di un utente conoscendo l’id numerico è possibile utilizzare il comando getent, questa è la sintassi:

getent passwd id

Screen – Lasciare il terminale attivo quando ci si disconnette

29 agosto 2009 Nessun commento

Se dovete disconnettervi dal terminale  ma avete l’esigenza di lasciare dei comandi o programmi in esecuzione, quello che fa al caso vostro è il programma screen.

screen

Vi si aprirà una nuova console dentro la quale potete eseguire i vostri script.

Per disconnettersi dalla console Screen premete:

^A+d   (Ctrl+A+d)

per riprenderla:

screen -r  (se ci sono più sessioni screen -r pid)

per uscire definitivamente:

exit

Alcuni comandi utili:

^A d (detach screen)

^A c (create new session)

^A n (next session)

^A p (previous session)

Categorie:Shell Tag: ,