Zdaję sobie sprawę z wielu pułapek w magicznym świecie crontabs, ale czasami pomocne byłoby rozwiązywanie problemów, gdy masz jakiś sprytny sposób na wejście do interaktywnej powłoki (bash) z dokładnie identycznym środowiskiem, jak podczas uruchamiania skryptu powłoki z crontab.
Teraz myślałem o sobie /bin/openvt -c8 -- /bin/bash --noprofile -l
, ale wymaga to uprawnień roota, ustawia zbyt wiele zmiennych, a prosty su myusername
ustawia wiele dodatkowych środowisk.
Czy ktoś zna sposób na uruchomienie interaktywnej powłoki bash z środowiskiem identycznym do crona i niewymagającym uprawnień roota na Kubuntu?
Bonus, gdy działa w sesji ssh, w graficznym interfejsie użytkownika oraz w jednym lub więcej z następujących systemów operacyjnych: HP-UX, Solaris i AIX
źródło
Cron nie jest interaktywną powłoką, więc to twój pierwszy problem. Jest to jednak w większości nie do zniesienia.
Rzeczywiste jest: zmienne środowiskowe. Spójrz na nagłówki z wiadomości cron, aby je znaleźć, a następnie ustaw zmienne w powłoce, aby je dopasować i odznacz wszystkie pozostałe zmienne.
Teraz jesteś bardzo blisko środowiska, jakie widzi cron.
źródło