Puncte:0

Cron job lansează aplicația în directorul principal

drapel mv

Încerc să scriu un script ca watchdog pentru serverul SA-MP. Va verifica în fiecare minut dacă serverul rulează, iar dacă nu, va face o copie a jurnalului serverului și va porni serverul. Lucrarea cron pare să funcționeze. Singura problemă este că, dintr-un motiv oarecare, serverul creează un log pe server în /home/pararera, și nu în /home/pararera/haswell-samp unde se află fișierul exe server.

Cred că, dintr-un anumit motiv, aplicația este pornită în directorul greșit și serverul nu funcționează, deoarece nu poate citi fișierul server.cfg care se află în home/pararera/haswell-samp. Dacă merg manual la home/pararera/haswell-samp și tast ./samp03svr și funcționează așa cum ar trebui. Cum pot remedia asta?

jurnalul serverului este creat în /home/pararera

PROCESS_COUNT=$(ps -fu pararera | grep samp03svr | grep -v grep | wc -l)
caz $PROCESS_COUNT în
0)
mv server_log.txt /logs/server_log.`data '+%m%d%y%H%M%S'`.txt
/home/pararera/haswell-samp/samp03svr &
;;
1) #OK, programul rulează deja o dată
;;
*) #OK, programul este deja de mai multe ori
;;
esac
Pararera avatar
drapel mv
@user68186 remediat
drapel hr
Acesta este comportamentul așteptat. Puteți `cd` în directorul dorit - fie în crontab, fie în interiorul scriptului. Deoparte, luați în considerare utilizarea `pgrep -c` pentru a număra procesele de ex. `pgrep -cu pararera samp03svr`.
drapel au
Directorul de lucru pentru un proces nu este determinat de locul în care se află executabilul pe care îl rulează, este moștenit de la procesul părinte (cu excepția cazului în care este setat în mod specific în altă parte). În cazul joburilor cron ale utilizatorului, acesta este, în general, folderul principal al utilizatorului. Nu ar trebui să vă așteptați ca programele să ruleze automat în directorul în care se află executabilul.
Pararera avatar
drapel mv
Mulțumiri. Nu știam asta.
Pararera avatar
drapel mv
`mv` nu funcționează când cron execută scriptul. Dacă este executat manual, funcționează.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.