У меня есть bashscript, который проверяет, существует ли файл на удаленном сервере. Когда я выполняю этот bashscript в командной строке, он работает нормально и говорит мне, что файл существует (как и должно быть). Но когда crontab выполняет этот bashscript, он говорит, что файл не существует (хотя он будет существовать).
Кто-нибудь может мне помочь?
myscript.sh
#!/bin/bash
if $(sudo ssh -i <path/to/ssh/keys> <user>@<ip> "[[ -f /etc/ssl/file.txt ]]");then
echo "exist"
else
echo "not exist"
fi
crontab:
*/1 * * * * bash /home/user/myscript.sh | mail -s "betreff" user@email.com
stderr: (когда я запускаю скрипт в командной строке)
++ sudo ssh -i <path/to/ssh/keys> <user>@<ip> '[ -f /etc/ssl/file.txt ]'
+ echo exist
exist
stderr: (когда я запускаю скрипт в cron)
++ sudo ssh -i <path/to/ssh/key> <user>@<ip> '[ -f /etc/ssl/file.txt ]'
Warning: Identity file /root/.ssh/key/keyfile not accessible: No such file or directory.
Permission denied, please try again.
Permission denied, please try again.
root@<ip>: Permission denied (publickey,password).
Разрешение ключевого файла ssh:
-rw------- 1 root root 3243 Sep 30 15:34 keyfile
-rw-r--r-- 1 root root 741 Sep 30 15:34 keyfile.pub
Спасибо за помощь: D