Cada usuario tiene su propio crontab
.
Para verlo solo escribe
crontab -l
y sí, lo has visto bien, cuando quieres agregar un y crontab
luego simplemente haz
crontab -e
por primera vez se le preguntará sobre el editor que debe usar crontab
. Como eres un novato como dices, te recomendaría usar nano, es el editor más simple de usar.
El crontab en sí funciona así
MIN = Minute 0-60
HOUR = Hour [24-hour clock] 0-23
MDAY = Day of Month 1-31
MON = Month 1-12 OR jan,feb,mar,apr ...
DOW = Day of Week 0-6 OR sun,mon,tue,wed,thu,fri,sat
COMMAND = Command to be run Any valid command-line
Entonces, por ejemplo, para activar un trabajo cada 15 minutos solo los lunes, lo haces así
*/15 * * * mon /home/me/yourscript.sh
y SÍ, es muy importante que coloque su cronjob en el crontab del usuario que tiene suficientes derechos para ejecutarlo.
Entonces, si su script debe ser root o un usuario especial, asegúrese de su su a ese usuario y agregue el cronjob allí.
También muy importante!
cronjob es tonto! Si lo dije. Siempre asegúrese de ingresar la RUTA completa a la application/command/script
que está utilizando, porque crontab no funcionará con .bashrc
o similar. Siempre debe asegurarse de decirle a cron dónde puede encontrar los archivos y directorios.
Para responder el resto de sus preguntas:
Por supuesto, se ejecutará solo, para eso está ahí. Pero debe verificar que cronjob realmente lo haga, o si le falta algo. Por ejemplo, inicie sesión en un archivo de registro para ver si realmente funciona.
Y NO, no es necesario reiniciar. Normalmente, solo es necesario reiniciar con Linux si instala un nuevo núcleo. Para usarlo, necesitarías reiniciar. Casi todo lo demás se puede hacer sin reiniciar en Linux. Por supuesto que hay excepciones, pero en general esta afirmación es correcta.
crontab -e
le permite editar su crontab de usuario sin sudo. Los crontabs de usuario se encuentran en/var/spool/cron/crontabs
un directorio al que no se puede acceder sin el permiso del superusuario (pero de tal manera que una vez que cron elimina los privilegios, aún puede leerlo). Incluso si usa sudo para intentar editar el archivo directamente, verá una gran advertencia en la parte superior, "NO EDITE ESTE ARCHIVO": el archivo está diseñado para editarse con elcrontab
comando que usa una copia temporal/tmp
y luego se instala después de guardarlo.