Puncte:0

Nu rulează un astfel de fișier sau director în fișierul sh

drapel in

Poate fi duplicat, deoarece există o întrebare similară, dar nu reușesc să o rezolv, de aceea întreb din nou cu codul meu.

Ale mele SH au acest cod:

cd /home/domain.com/data/domain-statistics
git fetch origine
git merge origin/master
git add --all
git add .
git commit -am "Fișier generat și actualizat la `date`"
git push origin master

cand il rulez ca:

-bash-4.2$ sh /home/domain.com/data/crons/push.sh

Apoi se arată întotdeauna ca:

-bash-4.2$ sh /home/domain.com/data/crons/push.sh
/home/domain.com/data/crons/push.sh: linia 1: cd: /home/domain.com/data: Nu există un astfel de fișier sau director
fatal: nu este un depozit git (sau oricare dintre directoarele părinte): .git
fatal: nu este un depozit git (sau oricare dintre directoarele părinte): .git
fatal: nu este un depozit git (sau oricare dintre directoarele părinte): .git
fatal: nu este un depozit git (sau oricare dintre directoarele părinte): .git
fatal: nu este un depozit git (sau oricare dintre directoarele părinte): .git
fatal: nu este un depozit git (sau oricare dintre directoarele părinte): .git

vă rog să mă ajutați.

drapel in
@Martin git nu funcționează deoarece cd /home/domain.com/data/domain-statistics nu funcționează
Martin avatar
drapel kz
am văzut și asta - mi-a ratat asta. Dar de ce presupuneți că acest director ar trebui să existe și ar trebui să conțină un git repo?
drapel in
Toate aceste coduri funcționează dacă rulez direct în terminal
Martin avatar
drapel kz
verificați greșelile de scriere în calea directorului... Nu mă pot gândi la nimic altceva care ar putea fi greșit în acest caz
Puncte:0
drapel kp

Nu am reputație de comentat, așa că o scriu ca răspuns. Ați încercat comanda cd folosind calea relativă? Daca nu gresesc asta ar fi:

cd ../domain-statistics
Puncte:0
drapel cn

Toate aceste coduri funcționează dacă rulez direct în terminal

Astfel, dacă tu esti nu alerga înăuntru ta terminal, atunci cum este fiind alerga?

Dacă este condus sub unii alte utilizator, atunci acel utilizator s-ar putea nu au acces la acel director (sau la unul sau mai multe dintre directoarele părinte).

Examinați permisiunile pentru fiecare director din cale /home/domain.com/data.

drapel in
Puteți vedea întrebarea mea cum îl rulez prin fișierul sh, folosesc fișierul sh deoarece trebuie să îl rulez la fiecare 10 minute. Deci folosesc prin job cron.
Phill  W. avatar
drapel cn
O lucrare cron pentru /care/ utilizator? Fiecare utilizator, nu doar root, poate avea propriile joburi cron și fiecare va rula în contextul de securitate al utilizatorului proprietar. De asemenea, joburile cron rulează în mod notoriu fără setările obișnuite de profil pentru contul de utilizator. Presupunând că acesta este pentru același utilizator și cron este, prin urmare, un Red Herring - Nu mi-ați adresat întrebarea despre permisiunile sistemului de fișiere.

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.