Skip to content

Shorts

Cambiare versione PHP usata in console ▼

Cambiare versione PHP usata in console

Spesso capita che i server web abbiano installato diverse versioni di PHP per soddisfare le richieste dei vari siti, ma in console è configurata una versione che non possiamo usare per il processo che intendiamo eseguire in console.

Oppure semplicemente vogliamo aggiornare la versione di PHP della console a quella più recente.

Per fare questo usiamo i seguenti comandi

update-alternatives --config php
update-alternatives --config phar
update-alternatives --config phar.phar

Vanno eseguiti come root per ovvi motivi.

Elencare la dimensione delle cartelle da console ▼

Elencare la dimensione delle cartelle da console

Per vedere la dimensione delle varie cartelle e sotto cartelle usare il comando DU (disk usage) di Linux:

du -h --max-depth=1 path_iniziale

L’opzione -h mostra i valori in modo human readable: MB, GB ecc.

L’opzione –max-depth mostra il risultato per i livelli di sotto cartelle indicate, 1 per fermarsi al primo livello, 2 per entrare anche nelle sotto cartelle di ogni sottocartella, ecc

Testare l’esecuzione di un DUMP ▼

Testare l’esecuzione di un DUMP

Se stiamo eseguendo un comando che potrebbe andare in contro ad errori come un dump del database, possiamo verificarne l’esito con questo statement

if mysqldum -u ...
then
  echo "Dump eseguito correttamente"
else
  echo "Errore durante il dump!"
  exit 1
fi

 

Scrittura delle variabili nei comandi ▼

Scrittura delle variabili nei comandi

Se dobbiamo usare un valore contenuto in una variabile per comporre stringhe o comandi, BASH necessita di alcune accortezze per riuscire a ricavare il valore della variabile.

Se abbiamo un caso come questo

read -p "Inserisci il nome del file: " NOME_FILE

e vogliamo comporre un nome da dare ad un file (p.e. un backup) a partire da quanto inserito sopra, possiamo avere questo caso

NOME_BACKUP="${NOME_FILE}_bck.tar.gz"

Se non usassimo le parentesi graffe per racchiudere la variabile NOME_FILE, BASH andrebbe in confusione perché cercherebbe una variabile chiamata NOME_FILE_bck e questa non esiste.

Perciò all’interno di una stringa composta con una o più variabili, è buona regola racchiudere le variabili tra parentesi graffe.

Definire un array ▼

Definire un array

In uno script BASH usa questo comando

declare -A NOMEARRAY=(
    [a]="VALORE a"
    [b]="VALORE b"
    ...
)

Questo è un array associativo, nel caso non si voglia un array associativo basta togliere l’uguale e ciò che lo precede, quindi basta elencare i valori, in questo caso il primo elemento sarà lo 0, il secondo 1, ecc.

Chiedere un valore all’utente ▼

Chiedere un valore all’utente

Per richiedere l’inserimento di un valore in uno script BASH usare lo statement read:

read -p "Inserisci valore: " VALORE
echo "Hai inserito $VALORE"

 

Cambiare versione di PHP alla console ▼

Cambiare versione di PHP alla console

Verifica la versione attuale della CLI conphp -v

Poi lancia update-alternatives --config php  e seleziona il numero corrispondente alla versione di php desiderato.

Fai lo stesso per CGI: update-alternatives --config php-cgi

Per sicurezza riavvia il servizio

service apache2 restart

 

Lanciare rsync in modo selettivo ▼

Lanciare rsync in modo selettivo

Per un uso standard di rsync usare questo comando

rsync -avz cartella_origina/ cartella_destinazione/

Dove cartella_destinazione può essere anche un percorso remoto come si farebbe con ssh.

Per escludere una cartella o dei file usare aggiungere –exclude:

rsync -avz --exclude 'PATH_DA_ESCLUDERE' /origine/ /destinazione/

PATH_DA_ESCLUDERE è relativo alla cartella ‘origine’, quindi per esempio ‘var/cache’, senza slash finale o iniziale e indicando il percorso completo relativo.

Se invece di una cartella abbiamo bisogno di escludere più cartelle, file ecc, usare un file contenente la descrizione di tutto ciò che va escluso e usare l’opzione –exclude-from:

rsync -avz --exclude-from='FILE_CON_LE_ESCLUSIONI' /origine/ /destinazione/

Per simulare il trasferimento senza farlo veramente aggiungere l’opzione --dry-run

 

Generare chiavi per SSH ▼

Generare chiavi per SSH

Per generare le chiavi pubblica e segreta per l’accesso tramite console con SSH, eseguire:

ssh-keygen -t ed25519

Per non inserire la password ogni volta che si vuole accedere alla console remota, aggiungere al file .ssh/authorized_keys la chiave pubblica appena generata id_ed25519.pub

 

Apertura di uno script Bash ▼

Apertura di uno script Bash

Per scrivere uno script Bash al fine di eseguirlo nella console di Linux, bisogna inserire nella prima riga il seguente statement:

#!/bin/bash

Per poterno eseguire, poi dobbiamo dargli il flag di eXecution:

chmod +x nome_script.sh

Tutti gli script li nomino con il “.sh” finale per differenziali dagli altri, ma non è indispensabile.