Aceasta este ar trebui să să fie aproape la fel pe Ubuntu 14.04 ca și pe cele mai recente versiuni - totuși, pot exista unele diferențe.
Sarcina este împărțită în două părți:
- Pentru a putea
sudo
fără o parolă, adăugați utilizatorul la sudoeri
fișier și permiteți-le să nu solicite o parolă.
- Pentru a rula o lucrare automat, utilizați
cron
.
sudoeri
Adăugați utilizatorul în grupul sudo cu
usermod -aG sudo <nume utilizator>
Schimbare <username>
utilizatorului cu care doriți să rulați jobul.
Pentru a evita introducerea parolei, editați /etc/sudoers
fişier:
visudo
și adăugați următoarea linie la sfârșitul fișierului:
<nume utilizator> ALL=(ALL) NOPASSWD:ALL
Din nou, schimbare <username>
utilizatorului cu care doriți să rulați jobul.
Rețineți că o abordare mai bună ar fi să creați un nou fișier sudoers pentru utilizatorul dvs., în loc să editați fișierul principal sudoers, astfel:
echo „<nume utilizator> ALL=(ALL) NOPASSWD:ALL” | sudo tee /etc/sudoers.d/username
Pentru mai multe informații vezi Cum să adăugați utilizator la Sudoers în Ubuntu.
Vezi și această întrebare, Cum pot adăuga un utilizator ca sudoer nou folosind linia de comandă?
cron
cron este foarte puternic și există o mulțime de opțiuni diferite. Cu toate acestea, pentru a vă îndeplini sarcina, iată doar elementele esențiale de bază:
Pentru a edita crontab, utilizați
crontab -e
sau pentru un alt utilizator, utilizați
crontab -u ostechnix -e
Dacă nu ați mai rulat niciodată crontab, vi se poate cere să alegeți un editor prima dată când îl rulați.
Apoi, pentru o slujbă de la 15:00, adăugați linia
0 15 * * * <comandă de executat>
Deci in cazul tau foloseste
0 15 * * * sudo php artisan backup:run
Salvați și ieșiți în editor.Apoi, pentru a verifica crontab, utilizați
crontab -l
Dacă doriți să schimbați ora, câmpurile sunt după cum urmează, din pagina de manual cron.
Câmpurile de oră și dată sunt:
valori permise în câmp
----- --------------
minutul 0-59
ora 0-23
ziua lunii 1-31
luna 1-12 (sau nume, vezi mai jos)
ziua săptămânii 0-7 (0 sau 7 este duminică sau folosiți nume)
Un câmp poate conține un asterisc (*), care înseamnă întotdeauna
"primul Ultimul".
Pentru mai multe informații despre crontab
, vedea Un ghid pentru începători pentru joburi Cron, sau tastați om cron
.
Vezi și această întrebare, Cum configurez un job Cron?