Vai al contenuto
Deploy
Sfoglia la documentazione

Ricette: script bash salvati su più server

Salva script bash come ricette ed eseguili su uno o più server alla volta, come root o come utente del server, con variabili per server e un report via email.

Visualizza come Markdown Aggiornato il 7 ottobre 2026

Una ricetta è uno script bash salvato che esegui su uno o più dei tuoi server. Usa le ricette per il lavoro che ripeti, come installare uno strumento, liberare spazio su disco, ruotare i log o controllare un'impostazione su ogni server. Scrivi lo script una volta e l'organizzazione può eseguirlo su qualsiasi server attivo ogni volta che serve.

Ogni esecuzione avvia un task in background per server, così puoi seguire l'output di ogni server separatamente. Le ricette appartengono all'organizzazione: ogni membro le vede e i membri con il ruolo sviluppatore o superiore possono crearle, modificarle ed eseguirle.

La pagina delle ricette con le ricette salvate e le esecuzioni recenti per server
Ricette in un'organizzazione

Creare una ricetta

  1. Apri Ricette nella navigazione in alto dell'organizzazione.
  2. Fai clic su Nuova ricetta.
  3. Inserisci un Nome, per esempio "Installa htop".
  4. In Esegui come, scegli root o Utente del server (l'utente proprietario dei siti sul server).
  5. Scrivi lo Script nell'editor. Viene eseguito con bash, quindi puoi scriverlo esattamente come faresti in un terminale.
  6. Fai clic su Salva ricetta.

La ricetta ora compare nell'elenco, con la prima riga dello script, l'utente con cui viene eseguita e quando è stata eseguita l'ultima volta.

Esempio: installare uno strumento su ogni server

apt-get update
apt-get install -y htop ncdu

Eseguila come root. I comandi che richiedono root, come apt-get, falliscono quando la ricetta viene eseguita come utente del server.

Usare variabili in una ricetta

Una ricetta può contenere variabili tra doppie parentesi graffe. Subito prima dell'esecuzione dello script, Vimonto Deploy le sostituisce con i valori del server su cui viene eseguito. L'editor le elenca in Variabili, compilate per server.

Variabile Valore
{{server_id}} L'ID del server in Vimonto Deploy.
{{server_name}} Il nome del server.
{{server_type}} Il tipo di server, come app o database.
{{ip_address}} L'indirizzo IP pubblico.
{{private_ip_address}} L'indirizzo IP privato, se presente; altrimenti vuoto.
{{user}} L'utente del server.
{{db_password}} La password del database, finché Vimonto Deploy la conserva ancora per il server.

Le variabili con nomi che non esistono in questo elenco restano come le hai scritte.

Esempio:

echo "Cleaning up on {{server_name}} ({{ip_address}})"
du -sh /home/{{user}}/*

Eseguire una ricetta

  1. Fai clic su Esegui accanto alla ricetta.
  2. In Server, seleziona ogni server su cui deve essere eseguita. L'elenco mostra i server a cui hai accesso; si possono selezionare solo i server attivi.
  3. Lascia attivo Inviami un report via email se vuoi ricevere un'email quando tutti i server hanno finito, con le ultime righe di output di ciascuno. Disattivalo se non ti serve.
  4. Fai clic su Esegui ricetta.

La ricetta parte contemporaneamente su ogni server selezionato, ciascuno come task separato. Puoi lasciare la pagina; l'output si trova in Attività.

Quando tutti i server hanno finito, ricevi una notifica Ricetta finita nella campanella (e via email, se l'hai attivata). La riceve solo chi ha avviato l'esecuzione. Vedi notifiche.

Seguire un'esecuzione e leggere l'output

L'elenco Esecuzioni recenti in fondo alla pagina delle ricette mostra le ultime dieci esecuzioni, con chi le ha avviate e quando. Ogni server di un'esecuzione ha il proprio badge con il suo stato. Fai clic su un server per aprire il suo task e leggere l'output completo. Un membro limitato ai server dei suoi team vede solo le esecuzioni su quei server, e in ogni esecuzione solo i suoi server.

Un'esecuzione su un server fallisce quando lo script termina con un exit code diverso da 0. Il task indica allora con quale exit code si è fermata la ricetta. Inizia lo script con set -e se vuoi che si fermi al primo comando che fallisce.

Una ricetta può durare fino a circa un'ora per server. Gli script più lunghi vengono interrotti.

Eseguire una ricetta da uno script o dalla CI

L'API elenca le ricette dell'organizzazione (GET /api/v1/orgs/{organization}/recipes) ed esegue una ricetta su un elenco di server (POST /api/v1/orgs/{organization}/recipes/{recipe}/run), con un token che ha l'ambito Scrittura. Ogni server riceve il proprio task, che puoi seguire anche tramite l'API.

Modificare o eliminare una ricetta

Apri il menu accanto alla ricetta e scegli:

  • Modifica per cambiare il nome, l'utente o lo script. Le esecuzioni precedenti mantengono lo script con cui sono state eseguite.
  • Elimina per rimuovere la ricetta per tutti nell'organizzazione. Le esecuzioni precedenti restano nell'attività.

Chi può usare le ricette?

Ogni membro può vedere le ricette e le loro esecuzioni. Per creare, modificare, eseguire ed eliminare le ricette serve il ruolo proprietario, amministratore, manager o sviluppatore. Vedi membri e ruoli. Se la tua organizzazione usa i team, puoi eseguire una ricetta solo sui server a cui i tuoi team ti danno accesso.

Domande frequenti

Posso eseguire una ricetta su tutti i miei server insieme?

Sì. Seleziona ogni server nell'elenco Server quando avvii l'esecuzione. Ogni server riceve il proprio task e vengono eseguiti contemporaneamente.

Qual è la differenza tra root e l'utente del server?

root può fare qualsiasi cosa sul server, come installare pacchetti e cambiare le impostazioni di sistema. L'Utente del server è l'utente proprietario dei tuoi siti che esegue i tuoi deploy; usalo per il lavoro nelle directory dei tuoi siti, così i file mantengono il proprietario giusto.

Posso eseguire la stessa ricetta due volte contemporaneamente su un server?

Sì. Vimonto Deploy non ti impedisce di eseguire una ricetta su un server dove un'altra ricetta è ancora in esecuzione, quindi fai attenzione con gli script che non devono sovrapporsi.

Per quanto tempo vengono conservate le esecuzioni delle ricette?

Le esecuzioni e il loro output vengono conservati per 90 giorni, come il resto dell'attività.

Posso eseguire comandi singoli senza salvare una ricetta?

Usa il terminale nel browser per comandi singoli su un solo server.