У меня есть crontab, который выполняет сценарий оболочки. Сценарий оболочки содержит коды, чтобы создать tmux и запустить некоторые команды.
@reboot /home/netforce/scripts/script.sh > /dev/null
Следующее является содержанием сценария:
#!/bin/bash
sess=erp
if [ "`tmux ls | grep $sess`" != "" ] ; then
echo "session $sess already running"
exit 1
fi
echo "starting session"
tmux new-session -d -s erp
tmux rename-window 'server'
tmux send-keys 'supervise ~/svc/netforce' 'C-m'
sleep 2
Хорошо вещи действительно работают, tmux создается, и программное обеспечение работает.
Но работает с
$ ./run.py
Это должно работать как
netforce@netforce-computer:~/netforce$ ./run.py
Почему я хочу работать как выше? Это работает хорошо на основную команду выполнения, но. У меня есть несколько окон, например, для печати, которые используют сценарий оболочки (и она работа doesnot)
Когда я работаю script.sh
вручную это работает отлично все же.
От небольшого исследования я узнал профиль удара, не загружается. Но у меня нет подсказки, как запуститься с моей средой удара (.bashrc? я предполагаю).
Любое предложение очень ценится.
ОБНОВЛЕНИЕ
Мой обновленный crontab
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
@reboot sleep 60 && /home/netforce/asus_scripts/start-erp.sh > /dev/null
#* */4 * * * /home/netforce/backup/backup_db.py
Некоторые файлы Python работают, но у некоторых есть проблема из-за удара. Когда я echo $0
я получаю -bash
. Это не мой нормальный удар.
Когда я открываю новый терминал и тип echo $0
я получаю -bash
(Это корректно).And, файлы Python работают правильно. Любое предложение очень ценится.