Comment planifier le travail de Crontab à exécuter en tant qu'utilisateur spécifique

Comment planifier le travail de Crontab à exécuter en tant qu'utilisateur spécifique

Par défaut, Crontab planifie des travaux pour l'utilisateur actuel. Cependant, il y a des moments où en tant qu'administrateur, vous devrez peut-être planifier des emplois pour d'autres utilisateurs. La bonne nouvelle est que Crontab le permet, ainsi lorsque vous ajoutez le -u option suivie de l'utilisateur pour lequel vous souhaitez planifier les emplois pour. Vous pouvez également avoir besoin d'autorisation de l'administrateur avant de planifier des travaux pour d'autres utilisateurs.

La publication d'aujourd'hui couvre comment planifier divers travaux pour différents utilisateurs en tant qu'administrateur.

Comment planifier des emplois dans Linux

Linux propose l'utilitaire Cron, qui permet aux utilisateurs de planifier des travaux en ouvrant le fichier Crontab à l'aide d'un éditeur. La commande ci-dessous ouvre un fichier crontab pour l'utilisateur actuel. Si vous devez planifier un emploi, vous ajoutez le travail cron au bas du fichier.

crontab -e

La syntaxe pour planifier un travail est:

Min heures Jour du mois de la semaine du mois de semaine [Commande / Script]
0-59 0-23 1-31 1-12 0-6

Par exemple, la commande serait comme indiqué ci-dessous si vous avez besoin de planifier un travail cron qui imprime la date et l'heure actuelles pour l'utilisateur enregistré et le stocke dans un fichier à une date et une heure données.

25 19 * 7 * Date> / Home / Kyle / Date.SMS

Le travail prévu a fonctionné pour l'utilisateur actuellement enregistré.

Vous devez utiliser le -u format pour planifier un emploi pour un utilisateur spécifique. La syntaxe pour cela serait:

Sudo Crontab -e -U Nom d'utilisateur

Pour notre cas, nous utiliserons un utilisateur nommé linuxhint1.

La commande sera affichée ci-dessous pour ouvrir un fichier crontab pour l'utilisateur. Notez que vous devez sélectionner l'éditeur à utiliser pour le fichier Crontab. Nous utiliserons un éditeur de nano pour notre exemple.

Une fois que notre fichier crontab pour l'utilisateur spécifique s'ouvre, nous pouvons planifier un travail en le créant en bas du fichier. Dans ce cas, nous créons un travail cron qui exécute un script nommé User1.shot chaque premier jour de chaque mois à 18h30, comme indiqué ci-dessous.

Enregistrer le fichier et quitter. Vous devriez recevoir un message comme celui ci-dessous confirmant que le nouveau crontab a été installé pour le nouvel utilisateur.

Pour répertorier le travail prévu d'un utilisateur spécifique, utilisez la commande ci-dessous. Remplacez le nom d'utilisateur pour correspondre à celui de votre cible.

sudo crontab -l -u linuxhint1

Dans la sortie ci-dessus, nous pouvons noter le travail cron que nous avons créé pour notre utilisateur spécifique. Si vous ne spécifiez pas l'utilisateur, vous obtiendrez les travaux planifiés pour l'utilisateur actuel.

De même, vous pouvez supprimer les travaux planifiés d'un autre utilisateur.

La commande pour supprimer les travaux prévus est:

crontab -r

Cependant, cela supprime pour l'utilisateur actuel. Vous devez ajouter le nom d'utilisateur de l'utilisateur cible, comme indiqué ci-dessous.

sudo crontab -r -u linuxhint1

Si nous énumérons les travaux planifiés pour notre utilisateur, linuxhint1, Nous voyons que nous n'en avons pas. Ainsi, nous avons réussi à supprimer le travail prévu.

sudo crontab -l -u linuxhint1

En tant qu'administrateur, vous avez le pouvoir de planifier des travaux pour tout utilisateur du système. Spécifiez leur nom d'utilisateur et leur fichier Crontab s'ouvrira pour que vous créiez un emploi. Ensuite, spécifiez la date et l'heure à exécuter.

Conclusion

Linux, Unix et MacOS facilitent la planification des travaux en utilisant l'utilitaire CRON. Ce guide a couvert comment créer des emplois pour un utilisateur spécifique. Nous avons discuté de la façon dont vous pourriez créer un emploi pour un autre utilisateur, consulter les travaux planifiés et supprimer les travaux à condition que vous soyez un administrateur.