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!