Puncte:0

Scriptul de job cron nu execută comanda terminus

drapel us

Sunt nou în implementarea cron jobs. Pe localul meu, am configurat crontab pe sistemul kubuntu, dar când a fost executat cronjob, nu se execută terminus comenzi în interiorul acestuia. Când rulez comenzile terminus direct de la terminal cu sudo, se execută cu succes, dar nu din scriptul shell cronjob.

$ whoami
$ aamir
$ care terminus
$ /usr/local/bin/terminus

test2.sh

#!/bin/sh

sudo terminus auth:login --machine-token=xxxxxxx
comanda sudo terminus aici

intrare crontab Ca utilizator root

$ sudo crontab -u root -e
07 15 24 * * /var/www/html/test2.sh > /dev/null 2>&1

În jurnale, pot vedea că această intrare crontab este executată, dar comanda terminus din script nu se execută. Cred că nu obține calea corectă pentru terminus. Orice ajutor este mult apreciat.

codlord avatar
drapel ru
În loc să redirecționați ieșirea către /dev/null, de ce nu redirecționați ieșirea către un fișier jurnal, astfel încât să puteți vedea pentru dvs. exact ce face scriptul și ce erori primiți. De exemplu: `07 15 24 * * /var/www/html/test2.sh >> /path/to/my/logfile.log 2>&1`
Aamir avatar
drapel us
@codlord Am încercat. fișierul jurnal este gol după executarea cronjob.
codlord avatar
drapel ru
Nu știu nimic despre `terminus`, dar sugestiile mele ar fi să adăugați niște ieșiri `echo` la scriptul dumneavoastră înainte de fiecare comandă, astfel încât să puteți fi sigur la ce linii ajunge scriptul și să încercați să specificați calea absolută `/usr/ local/bin/terminus` nu doar `terminus`.
FedKad avatar
drapel cn
Eliminați cele două sudo din scriptul dvs.
Puncte:0
drapel cn
  • Nu rulați aplicații grafice, în acest caz emulator de terminal terminus ca rădăcină. Terminus este o aplicație pentru utilizatorul final. Lansează-l numai *la fel de un utilizator pentru un utilizator.
  • Nu utilizați crontabs pentru a lansa un emulator de terminal sau orice altă aplicație grafică pentru utilizatorul final, lăsați în pace crotab-ul root. Dacă doriți să lansați automat un emulator de terminal, în acest caz terminus, puneți-l în aplicațiile de pornire ale fiecărui utilizator care a dorit să îl încarce în timpul pornirii.
  • Nu utilizare sudo într-un scenariu. Dacă este necesar pentru sarcinile administrative ale sistemului, rulați întregul script cu privilegii root.

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.