Votre utilisateur doit etre autoriser à lancer une commande avec sudo sans taper de mot de passe pour pouvoir lancer cette commande en automatique dans un fichier crontab
Modifier le fichier /etc/sudoers
sudo nano /etc/sudoers
ou avec
sudo visudo
avec la ligne à la fin ( si votre utilisateur est pi )
pi ALL=(ALL) NOPASSWD: /sbin/shutdown -h now
# This file MUST be edited with the 'visudo' command as root. # # Please consider adding local content in /etc/sudoers.d/ instead of # directly modifying this file. # # See the man page for details on how to write a sudoers file. # Defaults env_reset Defaults mail_badpass Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification root ALL=(ALL:ALL) ALL # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL # See sudoers(5) for more information on "@include" directives: @includedir /etc/sudoers.d pi ALL=(ALL) NOPASSWD: /sbin/shutdown -h now
crontab -e
en ajoutant la ligne ( pour arret à 23h50 chaque jour ) :
50 23 * * * sudo shutdown -h now
Pour lire le fichier crontab
crontab -l
# Edit this file to introduce tasks to be run by cron. # # Each task to run has to be defined through a single line # indicating with different fields when the task will be run # and what command to run for the task # # To define the time you can provide concrete values for # minute (m), hour (h), day of month (dom), month (mon), # and day of week (dow) or use '*' in these fields (for 'any'). # # Notice that tasks will be started based on the cron's system # daemon's notion of time and timezones. # # Output of the crontab jobs (including errors) is sent through # email to the user the crontab file belongs to (unless redirected). # # For example, you can run a backup of all your user accounts # at 5 a.m every week with: # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/ # # For more information see the manual pages of crontab(5) and cron(8) # # m h dom mon dow command 50 23 * * * sudo shutdown -h now