Интерактивная оболочка со средой, идентичной крону

OpenSSH идет с командой, чтобы сделать это, ssh-copy-id. Вы просто даете ему удаленный адрес, и это добавляет Ваш открытый ключ к authorized_keys файл на удаленной машине:

$ ssh-copy-id tim@just.some.other.server

Вы, возможно, должны использовать -i флаг для определения местоположения открытого ключа на локальной машине:

$ ssh-copy-id -i ~/.ssh/id_rsa.pub tim@just.some.other.server
10
24.11.2012, 01:45
2 ответа

Выполненный crontab -e и добавьте запись с

* * * * * export -p > ~/cron-env

(если на Солярисе или системе, которая не использует оболочку POSIX для интерпретации той командной строки, использовать /usr/xpg4/bin/sh -c 'export -p > ~/cron-env' или безотносительно пути к стандарту sh находится в той системе).

Ожидайте одна минута и удалите ту строку.

У Вас должен теперь быть a cron-env файл в Вашем корневом каталоге.

Можно затем работать:

cd && env -i sh -c '. ./cron-env; exec sh'

Для запуска оболочки с той же среды как задание крона добралось.

14
27.01.2020, 20:01
  • 1
    Интересный, проверит его, когда я возвращусь приблизительно через час. –  jippie 23.11.2012, 22:19
  • 2
    Brilliant аплодисментов, работы как мечта! –  jippie 23.11.2012, 23:14

Крон не является интерактивной оболочкой, таким образом, это - Ваша первая проблема. Это является главным образом игнорируемым все же.

Реальная вещь: переменные среды. Посмотрите на заголовки от почты крона для нахождения их, затем установите переменные в оболочке, чтобы соответствовать им и сбросить все остающиеся переменные.

Теперь Вы достаточно близки к среде, поскольку крон видит его.

2
27.01.2020, 20:01
  • 1
    Никогда не замечал, что почтовые заголовки, содержащие часть среды, Thunderbird по умолчанию, скрывают их от пользователя. Заголовки, к сожалению, не представляйте завершенный полная среда. –  jippie 24.11.2012, 00:43

Теги

Похожие вопросы