Я предложил бы установить Мерзавца, и возможно, шифруя Ваш жесткий диск (или по крайней мере Ваш домашний раздел).
Возможная причина: поврежден ли ваш файл id_rsa?
Я вижу эти строки в журнале, которые выглядят подозрительно:
debug3: Incorrect RSA1 identifier
debug3: Could not load "/home/pi/.ssh/id_rsa" as a RSA1 public key
У меня нет такого сообщения, когда я делаю ssh-соединение...
-121--216731- В интерактивном режиме всегда можно запустить сценарии, введя в командной строке ~/yourscript.sh
, но это очень ограниченно, особенно если вы хотите написать больше сценариев, которые называют уже написанные сценарии.
Более интегрированный и гибкий подход включает размещение всех сценариев в одном каталоге и добавление этого каталога в переменную среды PATH
.
После этого вы сможете ввести yourscript.sh
, и независимо от того, в каком каталоге вы находитесь, оболочка найдет ваш сценарий и выполнит его.
Как это обычно делается:
bin
в вашем домашнем каталоге и mv
ваши сценарии в него. chmod + x
). PATH
содержит каталог $ HOME/bin
. В некоторых системах ~/.profile
по умолчанию автоматически добавляет каталог $ HOME/bin
в PATH
, поэтому перед изменением проверьте ~/.profile
. Позвольте мне проиллюстрировать с помощью сценария:
mkdir ~/bin
mv ~/*.sh ~/bin
chmod +x ~/bin/*
if ! grep 'PATH=.*HOME/bin' ~/.profile
then
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.profile
fi
. ~/.profile
echo "$PATH" # you should see your bin directory
cd /tmp # change to another random directory
type myscript.sh # see if the shell finds your scripts
Если вы видите свой каталог bin
в PATH
, то рекомендуется выйти из системы и регистрации обратно в другой каталог, а затем снова выполнить type yourscript.sh
, чтобы убедиться, что все правильно настроено.
1-59/3 - более типичный и лаконичный способ его указания, означающий «каждые 3 минут начиная с 1».
В дополнение к ответу heemayl, вы можете перечислить нужные вам минуты, хотя это менее компактно и, вероятно, более подвержено ошибкам, чем существующий способ:
1,4,7,10,13,16,19,22,25,28,31,34,37,40,43,46,49,52,55,58 * * * * some_command
Вы можете использовать sleep 60
в качестве первой команды, чтобы команда, которую вы хотите запустить, действительно выполнялась через 1 минуту, сохраняя время cron
как */3
:
*/3 * * * * sleep 60 && some_command