O fusível de montagem sshfs falha quando invocado pelo Cron no FreeBSD 9.0

1

Eu tenho um sistema de arquivos do servidor remoto que estou tentando montar localmente em uma máquina FreeBSD 9 via FUSE sshfs, e o Cron para uma rotina de backup. Eu tenho chaves ssh entre as caixas de configuração para permitir login sem senha como o usuário root na máquina local.

Cron é definido para executar o seguinte script (no crontab do Root):

#!/bin/sh

echo "Mounting Share"

/usr/local/bin/sshfs -C -o reconnect -o idmap=user -o workaround=all <remote user>@<remote domain>.com: /mnt/remote_server

Como root, posso executar esse script na linha de comando sem problemas e, sem solicitar uma senha, o compartilhamento é montado com êxito. No entanto, quando executado pelo Cron, o script falha. O caminho para sshfs é idêntico ao valor de which sshfs

Aqui está a raiz do email que recebe do Cron Daemon:

X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>

Mounting Share
fuse: failed to exec mount program: No such file or directory
fuse: failed to mount file system: No such file or directory

Estou perplexo com o motivo pelo qual estou recebendo No such file or directory neste exemplo. Parece ainda mais estranho, dado que os caminhos parecem estar corretos.

Eu também tentei comparar a saída de env no shell com env inserido no script. Eu não vejo nenhuma variável de ambiente que deveria causar esse problema. Na inicialização, o FUSE relata sua versão como:

fuse4bsd: version 0.3.9-pre1, FUSE ABI 7.8

Ajude-me assistentes do ServerFault, você é minha única esperança!

    
por Tal 21.09.2012 / 16:41

1 resposta

1

Acontece que a variável de ambiente $ PATH foi a causa deste problema. Modificado o script acima, configure o PATH identicamente para o shell e agora ele funciona sem problemas:

 PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/‌​root/bin"   
 export PATH 

Acho que a lição nunca é fazer suposições sobre o ambiente mínimo do Cron.

    
por 24.10.2012 / 17:53