Tengo un script para montar temporalmente un recurso compartido SMB y copiar algunos archivos que se generan para mi equipo.
Funciona localmente, pero falla al montar el recurso compartido remoto cuando se ejecuta desde cron
. No incluyo el script ya que los comandos en cuestión deberían ser evidentes en las salidas de abajo.
Salida de operación local:
$ get-reports.sh
Tue Feb 18 16:14:05 EST 2020
+ whoami
gtarsa
+ id
uid=1234567(gtarsa) gid=1234567(#######) groups=1234567(#######),<usual Apple groups>
+ /sbin/umount /Users/gtarsa/reports
+ /sbin/mount -t smbfs //engsrv/reports /Users/gtarsa/reports
+ find /Users/gtarsa/reports -iname '*gtarsa*' -exec cp '{}' /Users/gtarsa/Downloads/reports ';'
+ /sbin/umount /Users/gtarsa/reports
+ set +x
$
Resultado de Cron:
$ cat ~/Downloads/reports/copy.log
Tue Feb 18 12:20:00 EST 2020
+ whoami
gtarsa
+ id
uid=1234567(gtarsa) gid=1234567(#######) groups=1234567(#######),<usual Apple groups>
+ /sbin/umount /Users/gtarsa/reports
+ /sbin/mount -t smbfs //engsrv/reports /Users/gtarsa/reports
mount_smbfs: server rejected the connection: Authentication error
+ echo '? Unable to mount Reports Share'
? Unable to mount Reports Share
+ exit 1
$
He intentado especificar explícitamente las credenciales de conexión (como se describe en man mount_smbfs
) sin éxito. Estoy ejecutando script manualmente cuando lo necesito, pero preferiría que se ejecutara periódicamente por sí solo.
Algo es diferente en el cron
entorno de mi entorno interactivo, pero no he sido capaz de discernir qué. En las búsquedas de respuestas en Google aparecen montones de "Cómo montar un recurso compartido desde la línea de comandos", pero no desde cron
. Se agradecen las ideas y los puntos de vista.