Bonjour,
Depuis quelques jours j'essaie de mettre en place un service systemd afin de réaliser une tâche journalière. En vain. Voici mon besoin:
- Un script python doit être lancé une fois par jour si possible
- Ce script est un web crawler, et donc nécessite une connexion internet établie
- Mon PC ne tourne pas 24h/24h. Donc le script devrait se lancer dès qu'il en a la possibilité et pas à une heure prédéfinie
Mes recherches sur le sujet m'indiquent qu'il faut pour cela définir deux fichiers:
- mon-service.timer
- mon-service.service
Tous deux étant mis dans /etc/systemd/system.
Je vous présente ci-dessous la dernière version de ces fichiers. A noter que bien entendu cela ne fonctionne pas chez moi (le script en question fonctionne bien lui, et me génère un fichier texte lorsque lancé manuellement).
mon-service.timer
mon-service.service
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 [Unit] Description=Runs assuvie-crawler every day [Timer] OnCalendar=daily Persistent=true Unit=mon-service.service [Install] WantedBy=timers.target
A noter également que j'ai bien pensé à activer le service et à le démarrer. D'ailleurs si je tape dans une console systemctl list-units, j'obtiens:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 [Unit] Description=Assurancevie.com Crawler After=network-online.target Requires=network-online.target [Service] Type=idle ExecStart=/home/anaconda3/bin/python /home/julien/Documents/FINANCES/Trading/assuvie_crawler.py StandardError=journal [Install] WantedBy=default.target
Il est bien chargé, il essaie de se lancer, mais il foire. Et je ne pige pas ce qui ne va pas. Et je ne vois rien dans journalctl (enfin je regarde peut être pas bien cela dit). J'ai toujours l'impression qu'il se lance dès que je sors mon PC de veille, mais avant qu'une connexion intenet s'établisse.
Ok, si une âme charitable pouvait m'orienter sur une piste ou me conseiller quelque chose, ce serait vraiment sympa. Mes connaissances en admin system ne sont pas très développées.
Pour finir, je tourne sur Solus, qui ne vient pas avec crontab. J'aimerais autant réussir à réaliser cela avec systemd.
Merci d'avoir lu!
Ju
Partager