RISOLTO systemd timer e script di backup

e_ale92

Utente Èlite
17,030
5,008
CPU
Intel® Core™ i7-920 Processor - @3.33GHz
Dissipatore
Stock Intel
Scheda Madre
Asus P6T - socket LGA 1366
HDD
Samsung 830 128GB + Samsung Spinpoint F4 320GB + Seagate Barracuda 1,5 TB
RAM
Corsair DDR3 1333MHz CL9 XMS3 DHX (3x2GB) - @1674MHz
GPU
MSI R6970 Lightning
Audio
Realtek ALC 1200
Monitor
HP 2310i
PSU
XFX Pro 750W Core Edition
Case
Cooler Master HAF 922
Periferiche
R.A.T. 5 Cyborg Mad Catz - Keycool KC84
OS
Arch Linux + Windows 10 Pro
Se per eseguire i comandi dello script son sufficienti i privilegi utente, personalmente opterei per systemd-user così mi toglierei qualche impiccio.
mmm sisi lo script lo esegue l'utente :)
me si documenta e ti aggiorna... anche se credo sia già settato come utente

edit.
per systemd-user intendi questo: https://wiki.archlinux.org/index.php/Systemd/User_(Italiano) oppure intendi l'opzione User nel tag [Service] del backup.service?
Post automatically merged:

edit2.
risolto avviando il timer con l'opzione OnCalendar e inserendo uno sleep nello script. con molta poca eleganza ho combinato il realtime timer con quello monotonic xD
 
Ultima modifica:

rebellion

Utente Èlite
1,565
490
CPU
intel i5 9500
Dissipatore
cooler master hyper 212 evo
Scheda Madre
asrock b360 pro4
HDD
samsung 850evo 250GB+samsung 840pro 128GB+seagate barracuda 2TB+seagate barracuda 2TB
RAM
corsair vengeance lpx ddr4 2133MHz 2x4GB CL13
GPU
integrata intel hd graphics 630
Audio
integrata
Monitor
samsung ue55mu6500u
PSU
xfx pro series 550w core edition
Case
mastercooler
OS
archlinux x64 + gnome3.34.1 && windows10 pro x64
risolto avviando il timer con l'opzione OnCalendar e inserendo uno sleep nello script. con molta poca eleganza ho combinato il realtime timer con quello monotonic xD
bèh allora diamo una parvenza di monotonic timer allo script, perchè non inserisci questa riga all'inizio:
Codice:
while true; do onbootsec=$(cat /proc/uptime |awk '{print $1}') ; if [ ${onbootsec%.*} -gt 60 ] ; then break ; fi ; done
avendo impostato 60 secondi il tempo di OnBootSec.:patpat:
 
  • Like
Reactions: e_ale92

e_ale92

Utente Èlite
17,030
5,008
CPU
Intel® Core™ i7-920 Processor - @3.33GHz
Dissipatore
Stock Intel
Scheda Madre
Asus P6T - socket LGA 1366
HDD
Samsung 830 128GB + Samsung Spinpoint F4 320GB + Seagate Barracuda 1,5 TB
RAM
Corsair DDR3 1333MHz CL9 XMS3 DHX (3x2GB) - @1674MHz
GPU
MSI R6970 Lightning
Audio
Realtek ALC 1200
Monitor
HP 2310i
PSU
XFX Pro 750W Core Edition
Case
Cooler Master HAF 922
Periferiche
R.A.T. 5 Cyborg Mad Catz - Keycool KC84
OS
Arch Linux + Windows 10 Pro
bèh allora diamo una parvenza di monotonic timer allo script, perchè non inserisci questa riga all'inizio:
Codice:
while true; do onbootsec=$(cat /proc/uptime |awk '{print $1}') ; if [ ${onbootsec%.*} -gt 60 ] ; then break ; fi ; done
avendo impostato 60 secondi il tempo di OnBootSec.:patpat:

sei troppo pro :+1::giudice::luxhello::dancinghae:
 
  • Like
Reactions: rebellion

rebellion

Utente Èlite
1,565
490
CPU
intel i5 9500
Dissipatore
cooler master hyper 212 evo
Scheda Madre
asrock b360 pro4
HDD
samsung 850evo 250GB+samsung 840pro 128GB+seagate barracuda 2TB+seagate barracuda 2TB
RAM
corsair vengeance lpx ddr4 2133MHz 2x4GB CL13
GPU
integrata intel hd graphics 630
Audio
integrata
Monitor
samsung ue55mu6500u
PSU
xfx pro series 550w core edition
Case
mastercooler
OS
archlinux x64 + gnome3.34.1 && windows10 pro x64
@e_ale92 altrimenti se vuoi eliminare un comando la riga diventa:
Codice:
while [ $(echo $(cat /proc/uptime |awk '{print $1}') | xargs printf "%.*f\n" 0) -lt 61 ] ; do true ; done
:figo:
 
  • Like
Reactions: e_ale92

e_ale92

Utente Èlite
17,030
5,008
CPU
Intel® Core™ i7-920 Processor - @3.33GHz
Dissipatore
Stock Intel
Scheda Madre
Asus P6T - socket LGA 1366
HDD
Samsung 830 128GB + Samsung Spinpoint F4 320GB + Seagate Barracuda 1,5 TB
RAM
Corsair DDR3 1333MHz CL9 XMS3 DHX (3x2GB) - @1674MHz
GPU
MSI R6970 Lightning
Audio
Realtek ALC 1200
Monitor
HP 2310i
PSU
XFX Pro 750W Core Edition
Case
Cooler Master HAF 922
Periferiche
R.A.T. 5 Cyborg Mad Catz - Keycool KC84
OS
Arch Linux + Windows 10 Pro
@e_ale92 altrimenti se vuoi eliminare un comando la riga diventa:
Codice:
while [ $(echo $(cat /proc/uptime |awk '{print $1}') | xargs printf "%.*f\n" 0) -lt 61 ] ; do true ; done
:figo:
anche tu sei un pro... oh ma solo io sono nabbo? ahahahah

credo userò la riga di MoMy perché più leggibile (per me che sono nabbo), però salvo anche questa... non si sa mai
 

« MoMy »

Utente Attivo
1,360
608
Proprio quello.
Con una cosa tipo... risolvi (duplicity a parte perché non lo conosco anche se ho visto che offre l' opzione --log-file /nome/file/log.log):
Crei la cartella in ~/.config/systemd/user nella quale ci piazzi il .timer e .service
Nel service si aggiunge la variabile display:
Codice:
[Unit]
Description=Backup Settimanale

[Service]
Type=oneshot
Environment=DISPLAY=:0
ExecStart=/usr/bin/bash /nome/dello/script
Mentre il timer cambia poco o nulla:
Codice:
[Unit]
Description=Backup Giornaliero

[Timer]
OnCalendar=daily
AccuracySec=1h
Persistent=true

[Install]
WantedBy=timers.target
Lo lanci con $ systemctl --user enable nome-del-timer.timer.
Volendo ci sarebbe anche # systemd-run --on-active=secondi <comando> di interessante. :P
 
  • Like
Reactions: rebellion e e_ale92

e_ale92

Utente Èlite
17,030
5,008
CPU
Intel® Core™ i7-920 Processor - @3.33GHz
Dissipatore
Stock Intel
Scheda Madre
Asus P6T - socket LGA 1366
HDD
Samsung 830 128GB + Samsung Spinpoint F4 320GB + Seagate Barracuda 1,5 TB
RAM
Corsair DDR3 1333MHz CL9 XMS3 DHX (3x2GB) - @1674MHz
GPU
MSI R6970 Lightning
Audio
Realtek ALC 1200
Monitor
HP 2310i
PSU
XFX Pro 750W Core Edition
Case
Cooler Master HAF 922
Periferiche
R.A.T. 5 Cyborg Mad Catz - Keycool KC84
OS
Arch Linux + Windows 10 Pro
Proprio quello.
Con una cosa tipo... risolvi (duplicity a parte perché non lo conosco anche se ho visto che offre l' opzione --log-file /nome/file/log.log):
Crei la cartella in ~/.config/systemd/user nella quale ci piazzi il .timer e .service
Nel service si aggiunge la variabile display:
Codice:
[Unit]
Description=Backup Settimanale

[Service]
Type=oneshot
Environment=DISPLAY=:0
ExecStart=/usr/bin/bash /nome/dello/script
Mentre il timer cambia poco o nulla:
Codice:
[Unit]
Description=Backup Giornaliero

[Timer]
OnCalendar=daily
AccuracySec=1h
Persistent=true

[Install]
WantedBy=timers.target
Lo lanci con $ systemctl --user enable nome-del-timer.timer.
Volendo ci sarebbe anche # systemd-run --on-active=secondi di interessante. :P
soluzione più elegante, anche se non so se adottata. quella col ritardo manuale non mi dispiace xD
 

rebellion

Utente Èlite
1,565
490
CPU
intel i5 9500
Dissipatore
cooler master hyper 212 evo
Scheda Madre
asrock b360 pro4
HDD
samsung 850evo 250GB+samsung 840pro 128GB+seagate barracuda 2TB+seagate barracuda 2TB
RAM
corsair vengeance lpx ddr4 2133MHz 2x4GB CL13
GPU
integrata intel hd graphics 630
Audio
integrata
Monitor
samsung ue55mu6500u
PSU
xfx pro series 550w core edition
Case
mastercooler
OS
archlinux x64 + gnome3.34.1 && windows10 pro x64

« MoMy »

Utente Attivo
1,360
608
@rebellion Mai usato anche se è prevista l' opzione --on-calendar (realtime) e anche --on-active=, --on-boot=, --on-startup=, --on-unit-active= e --on-unit-inactive= (le monotone :P). Quindi un esempio potrebbe essere:
$ sudo systemd-run --on-calendar="*-*-* 20:40:00" /bin/bash /home/<utente>/.scripts/nome-script.sh
Per il sudo... si potrebbe creare una regola polkit. :P
Post automatically merged:

A parte che, l' esempio che riporta la ArchBibbia :asd: systemd-run --on-active="12h 30m" --unit someunit.service il service parte da sistema attivo dopo 12 ore e mezza. Comunque essendo una forma transitoria è utile nel momento che trova (''mi serve una cosa veloce...tac-tac e via''). A differenza di un .timer + .service che abilitato una vola, quello rimande.
 
Ultima modifica:
  • Like
Reactions: rebellion e e_ale92

rebellion

Utente Èlite
1,565
490
CPU
intel i5 9500
Dissipatore
cooler master hyper 212 evo
Scheda Madre
asrock b360 pro4
HDD
samsung 850evo 250GB+samsung 840pro 128GB+seagate barracuda 2TB+seagate barracuda 2TB
RAM
corsair vengeance lpx ddr4 2133MHz 2x4GB CL13
GPU
integrata intel hd graphics 630
Audio
integrata
Monitor
samsung ue55mu6500u
PSU
xfx pro series 550w core edition
Case
mastercooler
OS
archlinux x64 + gnome3.34.1 && windows10 pro x64
@rebellion Mai usato anche se è prevista l' opzione --on-calendar (realtime) e anche --on-active=, --on-boot=, --on-startup=, --on-unit-active= e --on-unit-inactive= (le monotone :P). Quindi un esempio potrebbe essere:
$ sudo systemd-run --on-calendar="*-*-* 20:40:00" /bin/bash /home/<utente>/.scripts/nome-script.sh
sì son previste ma non credo si possano usare assieme (realtime e monotonic)!:patpat:
 

« MoMy »

Utente Attivo
1,360
608
Questo già lo sappiamo. :giudice::asd:
Quello che noi non abbiamo fatto è considerare altre opzioni tipo After=, BindsTo=, Wants= eccecc nel .service in maniera tale da usare un realtime e far partire il servizio dopo a, legato a, richiedendo eccecc.
Altrimenti si usa bash (visto che la tua riga sopra di per sé è già metà dello script di avvio... ci manca solo un file -lock :P) e si lascia perdere i .timer e .service. :P
 
  • Like
Reactions: rebellion

e_ale92

Utente Èlite
17,030
5,008
CPU
Intel® Core™ i7-920 Processor - @3.33GHz
Dissipatore
Stock Intel
Scheda Madre
Asus P6T - socket LGA 1366
HDD
Samsung 830 128GB + Samsung Spinpoint F4 320GB + Seagate Barracuda 1,5 TB
RAM
Corsair DDR3 1333MHz CL9 XMS3 DHX (3x2GB) - @1674MHz
GPU
MSI R6970 Lightning
Audio
Realtek ALC 1200
Monitor
HP 2310i
PSU
XFX Pro 750W Core Edition
Case
Cooler Master HAF 922
Periferiche
R.A.T. 5 Cyborg Mad Catz - Keycool KC84
OS
Arch Linux + Windows 10 Pro
Questo già lo sappiamo. :giudice::asd:
Quello che noi non abbiamo fatto è considerare altre opzioni tipo After=, BindsTo=, Wants= eccecc nel .service in maniera tale da usare un realtime e far partire il servizio dopo a, legato a, richiedendo eccecc.
Altrimenti si usa bash (visto che la tua riga sopra di per sé è già metà dello script di avvio... ci manca solo un file -lock :P) e si lascia perdere i .timer e .service. :P

nono timer e service mi servono altrimenti vado in crisi mistica. devo fare le cose tutte allo stesso modo... :dancinghae:
XD
 

e_ale92

Utente Èlite
17,030
5,008
CPU
Intel® Core™ i7-920 Processor - @3.33GHz
Dissipatore
Stock Intel
Scheda Madre
Asus P6T - socket LGA 1366
HDD
Samsung 830 128GB + Samsung Spinpoint F4 320GB + Seagate Barracuda 1,5 TB
RAM
Corsair DDR3 1333MHz CL9 XMS3 DHX (3x2GB) - @1674MHz
GPU
MSI R6970 Lightning
Audio
Realtek ALC 1200
Monitor
HP 2310i
PSU
XFX Pro 750W Core Edition
Case
Cooler Master HAF 922
Periferiche
R.A.T. 5 Cyborg Mad Catz - Keycool KC84
OS
Arch Linux + Windows 10 Pro

rebellion

Utente Èlite
1,565
490
CPU
intel i5 9500
Dissipatore
cooler master hyper 212 evo
Scheda Madre
asrock b360 pro4
HDD
samsung 850evo 250GB+samsung 840pro 128GB+seagate barracuda 2TB+seagate barracuda 2TB
RAM
corsair vengeance lpx ddr4 2133MHz 2x4GB CL13
GPU
integrata intel hd graphics 630
Audio
integrata
Monitor
samsung ue55mu6500u
PSU
xfx pro series 550w core edition
Case
mastercooler
OS
archlinux x64 + gnome3.34.1 && windows10 pro x64
@e_ale92 Tranqui, @lui sta già progettando un' interfaccia grafica con tanto di icona nella task, popups, selezione delle cartelle e/o dischi, log e controlli vari :P :asd:
orcoU2, lo schema base della gui l'avevo già preparata, sono irrecuperabile..:cav:
comunque @e_ale92 se vuoi .timer e .service allora si potrebbe pensare a una gui solo per la configurazione delle variabili dello script da mettere tramite appindicator nel pannello gnome...:suicidio:

Edit: guarda questa che carina (l'immagine è una gif di una supernova): Schermata da 2019-03-03 15-13-59.png
 

Entra

oppure Accedi utilizzando

Hot: Quale crypto per il futuro?

  • Bitcoin

    Voti: 73 47.1%
  • Ethereum

    Voti: 61 39.4%
  • Cardano

    Voti: 18 11.6%
  • Polkadot

    Voti: 7 4.5%
  • Monero

    Voti: 14 9.0%
  • XRP

    Voti: 13 8.4%
  • Uniswap

    Voti: 4 2.6%
  • Litecoin

    Voti: 10 6.5%
  • Stellar

    Voti: 9 5.8%
  • Altro (Specifica)

    Voti: 22 14.2%