Mac crontab nunca se crea


12

Estoy tratando de configurar un cron en mi mac, pero parece que nunca termina de crear un crontab para mi usuario. Abro la terminal y entro:

$ crontab -e 

Lo que devuelve esto:

crontab: no crontab for jjmay - using an empty one




















~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
"/tmp/crontab.rBdeP6yv1U" 0L, 0C

Y luego espera allí hasta que cierro por la ventana, lo dejé pasar hasta 20 minutos. Abro otra ventana de terminal para verificar la creación de mi crontab y no obtengo nada.

$ crontab -l 
crontab: no crontab for jjmay

¿Alguna idea de por qué no puedo crear esto o si puedo crear manualmente mi crontab para poder editarlo?


Ha pasado un tiempo desde que me metí con archivos crontab en OS X, pero supongo que esto: "/tmp/crontab.rBdeP6yv1U" 0L, 0C indica que no estás en el directorio correcto o que no tienes permisos para escribir a ese directorio ¿Cuál es el directorio en el que se encuentra al escribir "crontab -e"? JDB
JDB

@JDB gracias. No sabía que tendría que estar en un directorio específico. Estaba justo en mi directorio predeterminado cuando abrí la terminal, solo mi directorio de usuario predeterminado. / Users / <my_username> /
Jage

Respuestas:


22

No se trata del editor, se trata de permisos de usuario. Primero conviértete en root:

sudo su -

Luego edite el crontab para el usuario apropiado:

crontab -u username -e

Después de guardar el archivo, puede verificar que se guardó correctamente ejecutando esto:

crontab -u username -l

1
Esta solución funcionó para mí. Una variante que sorprendentemente no funcionó para mí fue:sudo crontab -u username -e
Andrew Miner

7

Me he encontrado con este problema ahora mismo. Mientras intentaba resolver el problema, me remitieron aquí desde Google. De todos modos, así es como lo resolví.

utilizar

crontab -e

que has hecho bien.

Presione 'i' para insertar su cronjob. Por ejemplo,

1 * * * * /Users/Wong/Documents/abc.command

~

Recuerde presionar regresar después de la línea. Si no presiona volver, será así

1 * * * * /Users/Wong/Documents/abc.command

Presione ESC y escriba: wq para guardar y salir del archivo. Debería decir "crontab: instalar nuevo crontab"

Me di cuenta de que si no presiona Intro después de su línea, no se guardará todo.

Espero eso ayude.


Gracias. Seguí saliendo :q!mientras su solución :wqmarcó la diferencia.
KeitelDOG

1
Bienvenidos. :q!le permite salir sin guardar mientras :wqescribe en el archivo antes de salir.
Richard Wong

Me pongo al día con los comandos VIM, ¡así que ahora sé muchas cosas que se suponía que debía saber!
KeitelDOG

1

Cerrar la ventana del terminal no hará que el crontab se guarde.

Como está usando vim para crear el archivo, busque cómo usar VIM y vaya desde allí.

launchd es el método preferido (de Apple) en 10.5 y 10.6, pero no preguntó sobre eso, solo cómo crear el crontab.


1

La ventana que muestra es un editor vi. En los sistemas Unix tradicionales, vi es el editor predeterminado; Parece que Mac OS X ha mantenido esa tradición.

Establezca las variables de entorno EDITORy VISUALen el nombre (ruta completa, si no está en $PATH) de su editor favorito. P.ej

export EDITOR=emacs VISUAL=emacs
crontab -e

Esta configuración debe ir a su ~/.profile(suponiendo que Mac OS X lea ese archivo cuando inicie sesión; si hay una forma OSX de definir variables de entorno para una sesión completa, puede definirlas allí).


0

Es mi solución: primero modifique su editor. export EDITOR=vim luego modifique .vimrc autocmd filetype crontab setlocal nobackup nowritebackup funcionará.


¿Qué hace esto? Por mi parte, sería muy cauteloso acerca de cambiar los archivos de configuración, por ejemplo, de un extraño anónimo en el internet que ni siquiera explica qué se supone que deben hacer los cambios.
David Richerby

Lo siento por eso. He encontrado este problema antes, luego busco en Google este método, pero no puedo encontrar la publicación de origen. Así que acabo de publicar este método, funcionó para mí. ¿Y también puedes buscar en Google este método para saber por qué funciona? La próxima vez mejoraré mi respuesta. Perdón por mi mal ingles.
Pegasus
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.