Pour exprimer mon état à l'écriture de ce post, je vais utiliser ça :
Voilà, ça c'est ma tête.
Maintenant :
- Je veux lancer
reflector
(https://wiki.archlinux.org/index.php/Reflector) une fois par jour ; - Je ne veux pas de cron, systemd est sensé faire le boulot (https://wiki.archlinux.org/index.php/Sy ... ctionality) ;
- Le service proposé par le wiki anglophone est nul, ne fonctionne pas (https://wiki.archlinux.org/index.php/Sy ... #Reflector) ;
- Je veux que reflector se lance seulement si j'ai accès à internet (ie
ping google.fr
renvoie un truc) ; - Au cas où ça plante pour une raison X ou Y, je veux que reflector se relance ou à défaut, qu'il se lance le lendemain.
Code : Tout sélectionner
# cat /etc/systemd/system/timer-daily.target.wants/reflector.service
[Unit]
Description=Update mirorlist
Requires=network-online.target
[Service]
Nice=19
IOSchedulingClass=2
IOSchedulingPriority=7
Type=simple
TimeoutSec=600
Restart=on-failure
ExecStart=-/usr/bin/reflector -i (fr|nl|be). -f 5 --save /etc/pacman.d/mirrorlist
Code : Tout sélectionner
root@schizophrenia ~ # systemctl status reflector.service
● reflector.service - Update mirorlist
Loaded: loaded (/etc/systemd/system/timer-daily.target.wants/reflector.service)
Active: inactive (dead) since Sat 2014-06-07 00:00:12 CEST; 2h 31min ago
Process: 17052 ExecStart=/usr/bin/reflector -i (fr|nl|be). -f 5 --save /etc/pacman.d/mirrorlist (code=exited, status=1/FAILURE)
Main PID: 17052 (code=exited, status=1/FAILURE)
Jun 07 00:00:02 schizophrenia systemd[1]: Starting Update mirorlist...
Jun 07 00:00:02 schizophrenia systemd[1]: Started Update mirorlist.
Jun 07 00:00:12 schizophrenia reflector[17052]: error: failed to retrieve mirror data: (The read operation timed out)
3 root@schizophrenia ~ # date
Sat Jun 7 02:32:20 CEST 2014
- Le restart on-failure fait pas son boulot ou systemd fait exprès de donner des noms trompeurs aux champs des units. (clairement, c'est vraiment ce qui me casse les pieds en ce moment)
- C'est quoi l'utilité de
network-online.target
? sa définition ? Comment je dis que network-online, c'est pouvoir ping une machine loin avec son nom et pas son IP ?
EDIT: l'unit s'est relancée sur mon autre PC, en accord avec le timer quotidien. Donc le timer ne s'arrête pas en cas d'échec, c'est cool. (Liste des miroirs créée la dernière fois le 2 juin mais l'unit a été lancée ce matin, le 7 juin)