Page 1 sur 1

commande cron

Publié : 02 oct 2017, 19:55
par obelix1502
Bonsoir,

Suivant le man, si l'on veut exécuter un cron quotidiennement, par semaine ou par mois, il faut lancer le daemon systemctl start crond.service.

Or, chez moi, crond.service n'existe pas. Aurait-il été remplacé par un autre service à l'insu de mon plein gré ?

Merci.

Re: commande cron

Publié : 02 oct 2017, 20:04
par stephane
que donne

sudo systemctl status crond.service

Re: commande cron

Publié : 02 oct 2017, 20:27
par obelix1502
Salut Stéph :sourire:

sudo systemctl status crond.service
[sudo] Mot de passe de bruno : 
Unit crond.service could not be found.


Je vois dans pamac que cronie est installé. Ne serait-ce pas plutôt sudo systenctl start cronie ?

Re: commande cron

Publié : 02 oct 2017, 20:39
par papajoke
:bjr:
paquet cronie
mais avec systemd, on peut se passer de cron, ce service fait la même chose et il est déjà installé sur nos machines, donc pas de raison d'alourdir ton système en installant un service redondant.

Re: commande cron

Publié : 02 oct 2017, 20:59
par obelix1502
Merci, j'ai plus ou moins compris ce qu'en dit Arch.
Mais je voulais effectuer un script sh une fois par semaine.
Je dois donc créer un fichier timer-weekly.timer dans /etc/systemd/system ? Et y éditer :

[Unit]
Description=Weekly Timer

[Timer]
OnCalendar=weekly
Persistent=true
Unit=timer-weekly.target

[Install]
WantedBy=basic.target


Puis un fichiet timer-weekly.target dans /etc/systemd/system et y éditer :

[Unit]
Description=Weekly Timer Target
StopWhenUnneeded=yes


Tel quel ?

Et pour mon script ce sera créer le fichier /etc/systemd/system/nom_du_script.service avec :

[Unit]
Description=Starts program sh
Wants=timer-weekly.timer

[Service]
Nice=19
IOSchedulingClass=2
IOSchedulingPriority=7
ExecStart=/chemin/de/mon/script     # Plus d'un ExecStart peuvent être utilisés si nécessaire

[Install]
WantedBy=timer-weekly.target
??

Si c'est cela, c'était plus simple avant... :rendre:

Re: commande cron

Publié : 02 oct 2017, 21:19
par papajoke
En fait tu n'as que le dernier à écrire, les 2 premiers sont pour tous les timers à la semaine.Tu n'a plus qu'un service à écrire, c'est simple.

Si tu n'a qu'un seul timer (tous les mardi), tu pouvais te passer de target et prendre le dernier exemple du wiki :
- créer un masauvegarde.timer et un masauvegarde.service (par exemple)

ps: Nice= IOSchedulingClass= IOSchedulingPriority= , normalement pas d’intérêt