Skip to content

Kron je sistemski šedjuler na Linuksu i srodnim operativnim sistemima. Evo par interesantnih primera koje ili već koristim ili sam našao na netu za buduće potrebe...

Pokreni proces na svaki pun sat:

0 * * * * /home/petar/x.sh >> /home/petar/x.log

Pokreni proces na kraju dana:

55 23 * * * /home/petar/x.sh >> /home/petar/x.log

Pokreni proces svakih 10 minuta:

*/10 * * * * /home/petar/x.sh >> /home/petar/x.log

Pokreni proces svakog ponedeljka u ponoć:

0 0 * * 1 /home/petar/x.sh >> /home/petar/x.log

Pokreni proces svakog prvog u mesecu u 3 ujutro:

0 3 1 * * /home/petar/x.sh >> /home/petar/x.log

Pokreni proces na svakih pola sata između 9 i 5:

25 09-16 * * * /home/petar/x.sh >> /home/petar/x.log
55 08-16 * * * /home/petar/x.sh >> /home/petar/x.log

Pokreni proces prilikom svakog restarta sistema:

@reboot /home/petar/x.sh >> /home/petar/x.log

Više komandi možemo spajati sa && a putanje u kojima ima razmaka treba staviti pod navodnike:

*/15 * * * * cd "/home/petar/drn zvrc/" && /usr/bin/php "/home/petar/drn zvrc/x.php" >> "/home/petar/drn zvrc/x.log"

Kronov log se na Arču može videti sa:

journalctl -f | grep CRON

Izvor: Majstor Kvariš

PHP funkcija mail() služi za slanje mejlova eksternim programom sendmail. sendmail je jako star program koji je bio dobar za ove stvari sve dok nije otkriveno da ima znatne propuste u pogledu sigurnosti. Zbog ovakve reputacije, mnoge Linuks distribucije ga više ne uvrštavaju u svoje repozitorijume već nude alternativna rešenja. Problem nastaje u tome što, ako PHP ne nađe program sendmail na sistemu, više ne može da pošalje mejl funkcijom mail(). Stoga ova alternativna rešenja za slanje mejlova često obezbeđuju "simulirani" sendmail kako bi se funkcionisanje programa koji zavise od njega nastavilo nesmetano.

Pošto se sendmail više ne nalazi u zvaničnim Arč repozitorijumima, instaliraćemo sSMTP, pojednostavljeno rešenje za slanje mejlova putem SMTP protokola. sSMTP nije kompletan mejl server i nema mogućnost primanja mejlova već služi samo da isporuči mejl sa lokalnog računara do mejl servera a to je ono što nama treba. Plus, sSMTP je kompatibilan sa programom sendmail i pravi simbolički link /usr/bin/sendmail 🙂

lrwxrwxrwx 1 root root 5 феб 18 2017 /usr/bin/sendmail -> ssmtp

sSMTP-u je potrebno navesti kojem mejl serveru treba da šalje mejlove, koji su kredencijali i slično. Sve to se čuva u konfiguracionom fajlu /etc/ssmtp/ssmtp.conf . Primer konfiguracionog fajla:

root=postmaster
mailhub=mail.server.com:465
AuthUser=username
AuthPass=password
rewriteDomain=server.com
FromLineOverride=YES
UseTLS=YES

A log možemo da vidimo sa

journalctl -f | grep sSMTP

 

Pošto sam dobio na poklon Raspberry Pi računarčić, reših da na njega instaliram ne Raspbian (što inače svi normalni ljudi rade) već Arch Linux za ARM procesore. Na Arch ARM sajtu postoji uputstvo kako se to sve lepo radi iz Linuksa ali pošto ja na desktop računaru na kojem imam instaliran Linuks nemam čitač SD kartica već ga imam na laptopu, a na laptopu nemam Linuks već Vindouz, well... sledi procedura.

Najpre sam skinuo neki stariji imidž fajl sa adrese

https://downloads.raspberrypi.org/arch/images/

Onda sam pomoću programa Win32 Disk Imager taj fajl snimio na SD karticu. Karticu sam uštekao na Raspberry Pi, povezao mrežni kabal, TV preko HDMI-ja, ubacio USB dongle za bežičnog miša i tastaturu i priključio računar na punjač za telefon 🙂 Sistem se pokrenuo, prikazao mi login prompt a ja sam se po prvi put ulogovao sa root/root. Odmah sam odlučio da apdejtujem sistem komandom

pacman -Syu

Nakon restarta sam primetio da se root particija mauntovala u read-only modu pa sam u fajlu /boot/cmdline.txt dodao rw ispred rootwait. Još jedan restart i sada je već sve mnogo bolje.

Ako otkucamo df -h videćemo da, iako kartica ima kapacitet od 8 gigabajta, postoje samo dve particije na njoj ukupnog kapaciteta oko 1.8 gigabajta. Iz vindouza sam skinuo program Tuxboot, uštekao jedan USB fleš disk u laptop, pokrenuo Tuxboot i na fleš disk instalirao program za particionisanje GParted. Laptop sam restartovao tako da se pokrene sa fleš diska, ubacio SD karticu u čitač, pokrenuo GParted i napravio novu particiju od slobodnog prostora sa SD kartice. Nisam uspeo da je spojim sa root particijom. Izlazak iz GParted-a, novo pokretanje Rozberija, u datoteci /etc/fstab dodajem

/dev/mmcblk0p3   /home   ext4   defaults   0   1

još jedan restart i imamo novu particiju. Sada možemo da instaliramo i grafičko okruženje:

pacman -S xorg-server xorg-server-utils xorg-xinit
pacman -S xf86-video-fbdev lxde noto-fonts

Komandom pacman -Scc možemo da obrišemo sa kartice skinute pakete da ne zauzimaju mesto. Dodajemo novog korisnika:

useradd -m -G users,audio,games -s /bin/bash benke
passwd benke

Izlogujemo se kao superkorisnik i ulogujemo se kao novi korisnik. Grafičko okruženje pokrećemo sa

xinit /usr/bin/lxsession