Aggiunta di systemd
This commit is contained in:
parent
dbd04fbb29
commit
991697797e
3 changed files with 506 additions and 13 deletions
|
@ -2,7 +2,7 @@ PDFDIR=pdf
|
|||
MDS=$(wildcard *.md)
|
||||
PDFS=$(patsubst %.md,$(PDFDIR)/%.pdf, $(MDS))
|
||||
TEMPLATE_ARGS=-V titlepage=true -V titlepage-text-color=000000 -V titlepage-color=B2DFEE -V titlepage-background=./background.pdf
|
||||
PANDOC_ARGS=-N -V lang=it --template default.latex -s
|
||||
PANDOC_ARGS=-N -V lang=it --template default.latex -s --toc
|
||||
|
||||
.PHONY : all
|
||||
|
||||
|
|
|
@ -207,10 +207,10 @@ separato, ad esempio in `~/.config/tmux/split.conf`.
|
|||
new -s splitted_session # crea una nuova sessione
|
||||
|
||||
selectp -t 0 # seleziona il primo pannello
|
||||
splitw -h -p 50 # divide il pannello corrente orizzontalmente in due parti
|
||||
splitw -h # divide il pannello corrente orizzontalmente in due parti
|
||||
|
||||
selectp -t 1 # seleziona il nuovo secondo pannello
|
||||
splitw -v -p 50 # divide il pannello corrente verticalmente in due parti
|
||||
splitw -v # divide il pannello corrente verticalmente in due parti
|
||||
selectp -t 0 # torna al primo pannello
|
||||
```
|
||||
|
||||
|
@ -233,6 +233,7 @@ simile a quello riportato sotto.
|
|||
| | |
|
||||
-----------
|
||||
| |
|
||||
| |
|
||||
-----------
|
||||
```
|
||||
# Secure Shell
|
||||
|
@ -366,16 +367,16 @@ mosh utente@host -- tmux
|
|||
|
||||
## Riferimenti
|
||||
|
||||
[1] https://www.ssh.com/academy/ssh/copy-id
|
||||
[2] https://www.techtarget.com/searchsecurity/tutorial/Use-ssh-keygen-to-create-SSH-key-pairs-and-more
|
||||
[3] https://alexhost.com/faq/using-ssh-copy-id-ssh-keygen-commands-in-linux/
|
||||
[4] https://www.ssh.com/academy/ssh/keygen
|
||||
[5] https://www.digitalocean.com/community/tutorials/ssh-essentials-working-with-ssh-servers-clients-and-keys
|
||||
[6] https://docs.oracle.com/en/operating-systems/oracle-linux/openssh/openssh-WorkingwithSSHKeyPairs.html
|
||||
[7] https://www.redhat.com/sysadmin/configure-ssh-keygen
|
||||
[8] https://www.digitalocean.com/community/tutorials/how-to-configure-ssh-key-based-authentication-on-a-linux-server
|
||||
[9] https://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id/
|
||||
[10] https://mosh.org/
|
||||
- [1] https://www.ssh.com/academy/ssh/copy-id
|
||||
- [2] https://www.techtarget.com/searchsecurity/tutorial/Use-ssh-keygen-to-create-SSH-key-pairs-and-more
|
||||
- [3] https://alexhost.com/faq/using-ssh-copy-id-ssh-keygen-commands-in-linux/
|
||||
- [4] https://www.ssh.com/academy/ssh/keygen
|
||||
- [5] https://www.digitalocean.com/community/tutorials/ssh-essentials-working-with-ssh-servers-clients-and-keys
|
||||
- [6] https://docs.oracle.com/en/operating-systems/oracle-linux/openssh/openssh-WorkingwithSSHKeyPairs.html
|
||||
- [7] https://www.redhat.com/sysadmin/configure-ssh-keygen
|
||||
- [8] https://www.digitalocean.com/community/tutorials/how-to-configure-ssh-key-based-authentication-on-a-linux-server
|
||||
- [9] https://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id/
|
||||
- [10] https://mosh.org/
|
||||
|
||||
### Esercizio
|
||||
|
||||
|
@ -391,3 +392,495 @@ suddivisione della finestra. L'accesso via ssh dev'essere senza password.
|
|||
Effettuando un ssh da locale verso locale, una volta effettuato
|
||||
l'acccesso, la sessione tmux dev'essere automaticamente avviata.
|
||||
|
||||
# Introduzione a `systemd`
|
||||
|
||||
Systemd è un sistema di inizializzazione e gestione dei servizi per
|
||||
Linux, che sostituisce il tradizionale SysVinit. È progettato per
|
||||
essere il punto di partenza per il sistema operativo, gestendo l'avvio
|
||||
dei servizi, la gestione delle sessioni utente, la configurazione di
|
||||
rete e molto altro. In Arch Linux, systemd è l'impostazione
|
||||
predefinita e viene utilizzato per gestire l'avvio del sistema e i
|
||||
servizi.
|
||||
|
||||
Systemd utilizza i "target" per raggruppare le unità insieme tramite
|
||||
dipendenze e come punti di sincronizzazione standardizzati. Questi
|
||||
servono uno scopo simile ai runlevel di SysVinit ma agiscono
|
||||
leggermente diversamente. Ogni target è nominato invece di essere
|
||||
numerato e serve uno scopo specifico con la possibilità di avere più
|
||||
attivi allo stesso tempo.
|
||||
|
||||
## Riferimenti
|
||||
|
||||
- [1] https://wiki.archlinux.org/title/systemd
|
||||
- [2] https://bbs.archlinux.org/viewtopic.php?id=214188
|
||||
- [3] https://www.reddit.com/r/archlinux/comments/4lzxs3/why_did_archlinux_embrace_systemd/
|
||||
- [4] https://stackoverflow.com/questions/10297969/systemd-on-arch-linux
|
||||
- [5] https://wiki.archlinux.org/title/Systemd/User
|
||||
- [6] https://superuser.com/questions/1025091/start-a-systemd-user-service-at-boot
|
||||
- [7] https://halestrom.net/darksleep/blog/005_distrohop_p1/
|
||||
- [8] https://www.youtube.com/watch?v=M51mbTRyL6U
|
||||
|
||||
## Gestione di `systemd`
|
||||
|
||||
`systemctl` è il comando principale utilizzato per esaminare e
|
||||
controllare lo stato di `systemd` in un sistema Arch Linux. Questo
|
||||
strumento è fondamentale per la gestione dei servizi e delle unità del
|
||||
sistema. Ecco alcuni esempi di utilizzo di `systemctl`:
|
||||
|
||||
### Avvio e Arresto di Servizi
|
||||
|
||||
Per avviare un servizio, ad esempio `sshd`, si utilizza:
|
||||
|
||||
```bash
|
||||
sudo systemctl start sshd
|
||||
```
|
||||
|
||||
Per fermare lo stesso servizio:
|
||||
|
||||
```bash
|
||||
sudo systemctl stop sshd
|
||||
```
|
||||
|
||||
### Abilitazione e Disabilitazione di Servizi all'Avvio
|
||||
|
||||
Per abilitare un servizio all'avvio del sistema:
|
||||
|
||||
```bash
|
||||
sudo systemctl enable sshd
|
||||
```
|
||||
|
||||
Per disabilitare l'avvio automatico del servizio:
|
||||
|
||||
```bash
|
||||
sudo systemctl disable sshd
|
||||
```
|
||||
|
||||
### Controllo dello Stato dei Servizi
|
||||
|
||||
Per controllare lo stato corrente di un servizio:
|
||||
|
||||
```bash
|
||||
systemctl status sshd
|
||||
```
|
||||
|
||||
### Gestione dei Target
|
||||
|
||||
I target in systemd rappresentano stati di sistema o configurazioni
|
||||
specifiche. Per vedere il target corrente:
|
||||
|
||||
```bash
|
||||
systemctl get-default
|
||||
```
|
||||
|
||||
Per cambiare il target di default al prossimo avvio:
|
||||
|
||||
```bash
|
||||
sudo systemctl set-default multi-user.target
|
||||
```
|
||||
|
||||
### Utilizzo di systemctl su una macchina remota
|
||||
|
||||
È possibile utilizzare `systemctl` per controllare un'istanza di
|
||||
`systemd` su una macchina remota tramite SSH:
|
||||
|
||||
```bash
|
||||
systemctl -H user@host status sshd
|
||||
```
|
||||
|
||||
### Diagnostica dei servizi
|
||||
|
||||
Per visualizzare i servizi che hanno manifestato problemi alla partenza:
|
||||
|
||||
```bash
|
||||
systemctl --state=failed
|
||||
```
|
||||
|
||||
### Riferimenti
|
||||
|
||||
- [1] https://wiki.archlinux.org/title/systemd
|
||||
- [2] https://man.archlinux.org/man/systemctl.1.en
|
||||
- [3] https://wiki.archlinux.org/title/Systemd/User
|
||||
- [4] https://bbs.archlinux.org/viewtopic.php?id=260255
|
||||
- [5] https://gist.github.com/bugyt/c149de4ba5b1ea79a077
|
||||
- [6] https://superuser.com/questions/1025091/start-a-systemd-user-service-at-boot
|
||||
- [7] https://wiki.archlinux.org/title/systemd/Timers
|
||||
- [8] https://www.reddit.com/r/linux4noobs/comments/18fklyi/using_systemd_to_automatically_run_commands_on/
|
||||
- [9] https://stackoverflow.com/questions/10297969/systemd-on-arch-linux
|
||||
- [10] https://man.archlinux.org/man/systemd.unit.5.en
|
||||
|
||||
## Utilizzo di `journalctl`
|
||||
|
||||
`journalctl` è uno strumento potente per la gestione dei log in
|
||||
sistemi che utilizzano `systemd`, come Arch Linux. Questo strumento
|
||||
consente di visualizzare, filtrare e analizzare i messaggi di log
|
||||
generati dal sistema e dai servizi. Ecco alcuni esempi notevoli di
|
||||
utilizzo di `journalctl`:
|
||||
|
||||
### Visualizzazione dei Log
|
||||
|
||||
Per visualizzare tutti i messaggi di log:
|
||||
|
||||
```bash
|
||||
journalctl
|
||||
```
|
||||
|
||||
### Filtraggio dei Messaggi di Log
|
||||
|
||||
- Per visualizzare tutti i messaggi che corrispondono a un pattern specifico:
|
||||
|
||||
```bash
|
||||
journalctl --grep=PATTERN
|
||||
```
|
||||
|
||||
- Per visualizzare tutti i messaggi dal boot corrente:
|
||||
|
||||
```bash
|
||||
journalctl -b
|
||||
```
|
||||
|
||||
- Per visualizzare i messaggi dal boot precedente:
|
||||
|
||||
```bash
|
||||
journalctl -b -1
|
||||
```
|
||||
|
||||
- Per visualizzare i messaggi da una data specifica:
|
||||
|
||||
```bash
|
||||
journalctl --since="2022-01-01"
|
||||
```
|
||||
|
||||
- Per visualizzare i messaggi degli ultimi 20 minuti:
|
||||
|
||||
```bash
|
||||
journalctl --since "20 min ago"
|
||||
```
|
||||
|
||||
### Seguire i nuovi messaggi
|
||||
|
||||
Per seguire i nuovi messaggi di log in tempo reale:
|
||||
|
||||
```bash
|
||||
journalctl -f
|
||||
```
|
||||
|
||||
### Visualizzazione per Unità di Servizio
|
||||
|
||||
- Per visualizzare tutti i messaggi per un servizio specifico, ad esempio `httpd`:
|
||||
|
||||
```bash
|
||||
journalctl -u httpd.service
|
||||
```
|
||||
|
||||
- Per visualizzare i messaggi di log per un'unità utente specifica, ad esempio `dbus`:
|
||||
|
||||
```bash
|
||||
journalctl --user -u dbus
|
||||
```
|
||||
|
||||
### Visualizzazione dei Messaggi di Errore
|
||||
|
||||
Per visualizzare solo i messaggi di errore, critico e allarme:
|
||||
|
||||
```bash
|
||||
journalctl -p err..alert
|
||||
```
|
||||
|
||||
### Visualizzazione del Buffer del Kernel
|
||||
|
||||
Per visualizzare i messaggi del buffer del kernel:
|
||||
|
||||
```bash
|
||||
journalctl -k
|
||||
```
|
||||
|
||||
### Visualizzazione dei Log in un File Specifico
|
||||
|
||||
Se il directory dei log contiene una grande quantità di dati di log,
|
||||
`journalctl` può richiedere diversi minuti per filtrare l'output. Può
|
||||
essere significativamente velocizzato utilizzando l'opzione `--file`
|
||||
per forzare `journalctl` a cercare solo nel journal più recente:
|
||||
|
||||
```bash
|
||||
journalctl --file /var/log/journal/*/system.journal -f
|
||||
```
|
||||
|
||||
### Esercizio
|
||||
|
||||
Utilizzando il terminal multiplexer `tmux` suddividi il terminale in
|
||||
due pannelli. Nel pannello di sinistra esegui `journalctl` in modo da
|
||||
visualizzare i log del servizio `sshd`. Nel pannello di destra
|
||||
connettiti al server ssh in esecuzione sulla tua macchina. Qualora il
|
||||
servizio non fosse in esecuzione, fallo partire utilizzando
|
||||
`systemctl`. Salva una porzione dei log in un file di testo come prova
|
||||
di aver svolto l'esercizio.
|
||||
|
||||
### Riferimenti
|
||||
|
||||
- [1] https://wiki.archlinux.org/title/Systemd/Journal
|
||||
- [2] https://man.archlinux.org/man/journalctl.1.en
|
||||
- [3] https://www.debugpoint.com/systemd-journalctl/
|
||||
- [4] https://serverfault.com/questions/721963/how-do-you-use-systemds-journalctl-patterns
|
||||
- [5] https://www.loggly.com/ultimate-guide/using-journalctl/
|
||||
- [6] https://bbs.archlinux.org/viewtopic.php?id=208480
|
||||
- [7] https://unix.stackexchange.com/questions/199988/how-to-inspect-systemd-journal-files-directly
|
||||
- [8] https://kb.adamsdesk.com/operating_system/arch_linux_quick_reference_commands/
|
||||
- [9] https://www.reddit.com/r/archlinux/comments/lskkdt/always_check_your_journalctl_when_weird_problems/
|
||||
- [10] https://wiki.archlinux.org/title/systemd
|
||||
|
||||
## Timer di `systemd`
|
||||
|
||||
`systemd/Timers` in Arch Linux sono unità di sistema che permettono di
|
||||
pianificare l'esecuzione di servizi o eventi in base a specifici
|
||||
intervalli di tempo o eventi di sistema. Questi timer possono essere
|
||||
utilizzati come alternativa a `cron` per la pianificazione di
|
||||
attività. I timer di `systemd` supportano eventi di tempo calendario e
|
||||
monotonici, e possono essere eseguiti in modo asincrono.
|
||||
|
||||
### Tipi di Timer
|
||||
|
||||
- **Timer Realtime (o Wallclock Timers)**: Attivano un evento in base
|
||||
a un calendario, similmente a come funzionano i cronjobs. Utilizzano
|
||||
l'opzione `OnCalendar=` per definire l'evento.
|
||||
- **Timer Monotonici**: Attivano dopo un intervallo di tempo relativo
|
||||
a un punto di partenza variabile. Si fermano se il computer viene
|
||||
sospeso temporaneamente o spento. Esempi comuni includono
|
||||
`OnBootSec` e `OnUnitActiveSec` [1].
|
||||
|
||||
### Creazione di un Timer
|
||||
|
||||
Per creare un timer, è necessario creare un file di unità con
|
||||
estensione `.timer` che descriva quando e come il timer deve attivare
|
||||
un'unità di servizio corrispondente. Ad esempio, per creare un timer
|
||||
che esegue un servizio ogni giorno alle 12:00, il file del timer
|
||||
potrebbe essere simile a questo:
|
||||
|
||||
```ini
|
||||
[Unit]
|
||||
Description=Esegui il mio servizio giornaliero
|
||||
|
||||
[Timer]
|
||||
OnCalendar=daily
|
||||
Persistent=true
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
```
|
||||
|
||||
E il file del servizio corrispondente potrebbe essere:
|
||||
|
||||
```ini
|
||||
[Unit]
|
||||
Description=Il mio servizio giornaliero
|
||||
|
||||
[Service]
|
||||
ExecStart=/path/to/my-service
|
||||
```
|
||||
|
||||
La sintassi `OnCalendar` in `systemd` è utilizzata per specificare
|
||||
quando un timer deve essere attivato, offrendo una maggiore
|
||||
flessibilità rispetto al formato cron tradizionale. La sintassi
|
||||
`OnCalendar` segue il formato `DOW YYYY-MM-DD HH:MM:SS`, dove `DOW` è
|
||||
il giorno della settimana (opzionale), e gli altri campi possono
|
||||
utilizzare un asterisco (`*`) per corrispondere a qualsiasi valore per
|
||||
quella posizione. Se l'ora non è specificata, viene assunta come
|
||||
`00:00:00`. Se la data non è specificata ma l'ora è, il prossimo match
|
||||
potrebbe essere oggi o domani, a seconda dell'ora corrente [5].
|
||||
|
||||
Ecco alcuni esempi di come utilizzare `OnCalendar`:
|
||||
|
||||
- Per eseguire un evento ogni giorno alle 10:00, puoi usare:
|
||||
```ini
|
||||
OnCalendar=*-*-* 10:00:00
|
||||
```
|
||||
- Per eseguire un evento ogni anno il 15 ottobre alle 17:48:00, puoi usare:
|
||||
```ini
|
||||
OnCalendar=*-10-15 17:48:00
|
||||
```
|
||||
- Per eseguire un evento ogni anno il 1 gennaio alle 00:00:00, puoi usare:
|
||||
```ini
|
||||
OnCalendar=*-01-01 00:00:00
|
||||
```
|
||||
- Puoi anche combinare questi campi per specificare eventi più precisi. Ad esempio, per eseguire un evento ogni mercoledì alle 17:48:00, puoi usare:
|
||||
```ini
|
||||
OnCalendar=Wed *-*-* 17:48:00
|
||||
```
|
||||
Questo può anche essere scritto come:
|
||||
```ini
|
||||
OnCalendar=3Wed, 17:48
|
||||
```
|
||||
|
||||
Sì, `OnCalendar` in `systemd` ammette alias come "daily" per
|
||||
specificare intervalli di tempo più comuni. Questo alias può essere
|
||||
utilizzato per semplificare la pianificazione di eventi ricorrenti. Ad
|
||||
esempio, per eseguire un evento ogni giorno, puoi semplicemente
|
||||
utilizzare:
|
||||
|
||||
```ini
|
||||
OnCalendar=daily
|
||||
```
|
||||
|
||||
Questo è equivalente a specificare l'evento per ogni giorno alle
|
||||
00:00:00. Altri alias comuni includono "weekly", "monthly", "yearly",
|
||||
e specifici giorni della settimana come "Mon", "Tue", "Wed", ecc.
|
||||
|
||||
Per esempio, per eseguire un evento ogni lunedì alle 10:00, potresti
|
||||
usare:
|
||||
|
||||
```ini
|
||||
OnCalendar=Mon 10:00:00
|
||||
```
|
||||
|
||||
O per eseguire un evento ogni settimana, potresti usare:
|
||||
|
||||
```ini
|
||||
OnCalendar=weekly
|
||||
```
|
||||
|
||||
Questi alias rendono più semplice e leggibile la configurazione dei
|
||||
timer in `systemd`, specialmente per intervalli di tempo ricorrenti
|
||||
comuni [4].
|
||||
|
||||
`systemd` offre strumenti come `systemd-analyze calendar` per validare
|
||||
e esaminare gli eventi del calendario utilizzati in
|
||||
un'espressione. Questo strumento analizza un'espressione di evento del
|
||||
calendario e fornisce la forma normalizzata e altre informazioni, come
|
||||
la data e l'ora del prossimo "elapso" (cioè, corrispondenza) e la
|
||||
quantità approssimativa di tempo prima che raggiunga il tempo di
|
||||
attivazione [5].
|
||||
|
||||
### Gestione dei Timer
|
||||
|
||||
Per abilitare e avviare un timer, utilizza i comandi `systemctl
|
||||
enable` e `systemctl start`, ricordando di aggiungere il suffisso
|
||||
`.timer` al nome dell'unità. Per visualizzare tutti i timer attivi,
|
||||
esegui:
|
||||
|
||||
```bash
|
||||
systemctl list-timers
|
||||
```
|
||||
|
||||
Per elencare tutti i timer (inclusi quelli inattivi), usa:
|
||||
|
||||
```bash
|
||||
systemctl list-timers --all
|
||||
```
|
||||
|
||||
Se un timer si sincronizza, potrebbe essere utile eliminare il suo
|
||||
file `stamp-*` in `/var/lib/systemd/timers` (o
|
||||
`~/.local/share/systemd/` nel caso dei timer utente). Questi file di
|
||||
lunghezza zero contrassegnano l'ultima volta in cui ogni timer è stato
|
||||
eseguito. Se vengono eliminati, verranno ricostruiti al prossimo avvio
|
||||
del loro timer [1].
|
||||
|
||||
### Esempi di Utilizzo
|
||||
|
||||
Per impostare un timer che effettui il backup della cartella home ogni
|
||||
mattina alle 10:00, e che si assicuri che il backup venga effettuato
|
||||
anche se il PC è spento, segui questi passaggi. Questo esempio
|
||||
utilizza un timer e un servizio di `systemd` per eseguire il backup.
|
||||
|
||||
#### Creazione del Servizio
|
||||
|
||||
Prima di tutto, crea un file di servizio che eseguirà il backup. Puoi
|
||||
chiamarlo `home-backup.service` e metterlo in `/etc/systemd/system/`
|
||||
per un backup a livello di sistema, o in `~/.config/systemd/user/` per
|
||||
un backup a livello utente.
|
||||
|
||||
```ini
|
||||
[Unit]
|
||||
Description=Backup della cartella home
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/path/to/your/backup-script.sh
|
||||
```
|
||||
|
||||
Assicurati che lo script di backup (`/path/to/your/backup-script.sh`)
|
||||
sia eseguibile e che contenga i comandi necessari per il backup.
|
||||
|
||||
#### Creazione del Timer
|
||||
|
||||
Successivamente, crea un file di timer che attiverà il servizio sopra
|
||||
ogni mattina alle 10:00. Anche questo file va in
|
||||
`/etc/systemd/system/` per un backup a livello di sistema, o in
|
||||
`~/.config/systemd/user/` per un backup a livello utente. Chiamalo
|
||||
`home-backup.timer`.
|
||||
|
||||
```ini
|
||||
[Unit]
|
||||
Description=Timer per il backup della cartella home
|
||||
|
||||
[Timer]
|
||||
OnCalendar=*-*-* 10:00:00
|
||||
Persistent=true
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
```
|
||||
|
||||
L'opzione `Persistent=true` assicura che il timer si attivi non appena
|
||||
il sistema è avviato, anche se il tempo previsto per l'esecuzione è
|
||||
passato.
|
||||
|
||||
#### Abilitazione e Avvio del Timer
|
||||
|
||||
Per abilitare il timer, esegui:
|
||||
|
||||
```bash
|
||||
sudo systemctl enable home-backup.timer
|
||||
```
|
||||
|
||||
E per avviare il timer immediatamente, senza doverlo abilitare:
|
||||
|
||||
```bash
|
||||
sudo systemctl start home-backup.timer
|
||||
```
|
||||
|
||||
Se stai creando un timer a livello utente, sostituisci `sudo` con
|
||||
`--user` nei comandi sopra.
|
||||
|
||||
#### Verifica
|
||||
|
||||
Per verificare che il timer sia attivo e pianificato correttamente,
|
||||
puoi usare:
|
||||
|
||||
```bash
|
||||
systemctl list-timers
|
||||
```
|
||||
|
||||
Questo mostrerà tutti i timer attivi, inclusi quelli pianificati per
|
||||
il futuro.
|
||||
|
||||
#### Considerazioni
|
||||
|
||||
- Assicurati che lo script di backup sia configurato correttamente e
|
||||
che abbia i permessi necessari per eseguire il backup.
|
||||
- Se il tuo sistema è spento quando il timer dovrebbe attivarsi, il
|
||||
timer si attiverà al prossimo avvio del sistema, grazie all'opzione
|
||||
`Persistent=true`.
|
||||
- Ricorda che i timer a livello utente richiedono che l'utente sia
|
||||
loggato per funzionare, a meno che non sia configurato per "linger"
|
||||
con `loginctl enable-linger $USER`.
|
||||
|
||||
Questo metodo ti permette di pianificare il backup della cartella home
|
||||
ogni mattina alle 10:00, garantendo che il backup venga effettuato
|
||||
anche se il PC è spento al momento previsto per il backup [1].
|
||||
|
||||
### Riferimenti
|
||||
|
||||
- [1] https://wiki.archlinux.org/title/Systemd/Timers
|
||||
- [2] https://linuxconfig.org/how-to-schedule-tasks-with-systemd-timers-in-linux
|
||||
- [3] https://www.airplane.dev/blog/systemd-timer-how-to-schedule-tasks-with-systemd
|
||||
- [4] https://man.archlinux.org/man/systemd.timer.5
|
||||
- [5] https://opensource.com/article/20/7/systemd-timers
|
||||
- [6] https://wiki.archlinux.org/title/Systemd
|
||||
- [7] https://lloydrochester.com/post/unix/systemd-timer-example/
|
||||
- [8] https://unix.stackexchange.com/questions/704109/configure-systemd-timer-to-run-every-hour-after-first-run
|
||||
- [9] https://linuxman.co/linux-desktop/easily-automate-maintenance-in-arch-linux-with-the-power-of-systemd-timers/
|
||||
- [10] https://www.fosslinux.com/48317/scheduling-tasks-systemd-timers-linux.htm
|
||||
- [11] https://www.binaryte.com/blog/systemd-timers-tutorial-for-scheduling-tasks
|
||||
- [12] https://www.learnlinux.tv/automate-your-tasks-with-systemd-timers-a-step-by-step-guide/
|
||||
- [13] https://blog.devgenius.io/devops-in-linux-systemd-timer-4e95f57b6d71
|
||||
- [14] https://dashdash.io/5/systemd.timer
|
||||
- [15] https://techviewleo.com/configuring-cron-jobs-in-linux-using-systemd-timers/
|
||||
|
|
Binary file not shown.
Loading…
Reference in a new issue