Stranica: 1/1.

crontab i update upgrade

Postano: 15 kol 2016, 08:26
Postao/la demaxfa
Pozdrav ekipa.
Koristim debian Stretch i u sudo crontab sam postavio da se jednom tjedno

Kod: Označi sve

apt-get update | apt-get -y upgrade
i sad kada treba npr korisničku reakciju pri restartanju servicea i programa koje zahtjevaju ručno pritiskanje (q)uit tipke mi proces stoji blokiran. Kako da to automatski riješim?
Darko

Re: crontab i update upgrade

Postano: 15 kol 2016, 10:35
Postao/la shrike
Nisam tako nešto nikada probao jer je to super loša ideja na testnoj verziji (iako nije nešto pametnija ni na stable), ali apt-get -y --force-yes upgrade bi ti trebao raditi. Također, taj kron nema nikakvog smisla. | je pipe koji prebaci rezultat lijeve strane na ulaz desne (nije logičko "ili" što si vjerojatno mislio da je). Taman da je i || (logičko ili) naredba neće raditi. On će evaluirati ljevu stranu i tu stati, jer dalje nije potrebno (1 ILI X = > 1 tako da nema smisla evaluirati ništa drugo). Dakle, ti želiš:

apt-get update && apt-get -y --force-yes upgrade

&& je logička "i" operacija koja će prvo izvršiti "apt-get update", pa ako je ok onda tek apt-get -y --force-yes upgrade Da vidiš da li ti se naredba evaluira točno, odmah nakon izvšrenja ukucaj "echo $?" i rezultat mora biti 0 (nula) ako je ok (znači, inverzna je logika). --force-yes i -y nisu isto, ovo drugo će stati nad lošim idejama, dok će --force-yes provesti bilo koji upgrade, makar odmah nakon toga nepovratno uništio čitavi sustav.

Kad/ako sjebeš sustav tim kronom, nemoj kriviti mene :D

Re: crontab i update upgrade

Postano: 15 kol 2016, 16:24
Postao/la demaxfa
Hvala. Poslušati ću savjet.

Re: crontab i update upgrade

Postano: 16 kol 2016, 09:07
Postao/la shrike
pardon, da se korigiram "apt-get -y --force-yes upgrade"

Re: crontab i update upgrade

Postano: 16 kol 2016, 10:38
Postao/la devil
mozda je pametnije staviti apt-get update; apr-get -y --force-yes upgrade ili jos bolje dist-upgrade jer kad vec hoces rasturit sustav go all the way.

a ; umjesto && jer ako update faila onda nece radit upgrade, a mozda je sasvim ok da faila. i ne zaboravi sloziti neki redirect outa i erra u log, ne u null pa da bar znas kaj je krepalo ako krepa.

Re: crontab i update upgrade

Postano: 16 kol 2016, 15:37
Postao/la jurastublic
Zašto ne koristiš unattended upgrades koji je za to i napravljen?
https://wiki.debian.org/UnattendedUpgrades

A greške u stvari ne treba preusmjeravati jer već postoje logovi u /var/log i za dpkg i za apt.

Ako inače imaš neki interaktivni program za kojega treba bez nadzora pritisnuti koju tipku ili nešto automatski upisati, netko je ovdje ukazao da za to postoje expect skripte. Npr.:

Kod: Označi sve

#!/usr/bin/expect -f
set timeout -1 #postavi bez timeouta, tj izlaz kad aplikacija pošalje EOF  (inače je pozitivni broj u minutama)

spawn whoami #pokreni program whoami
expect {      #očekuj znakovni izlaz od programa
 "(q)uit"       { send "q\r"; exp_continue } #ako traži da se stisne "quit", pošalji "q" i enter i nastavi dalje skenirati
 "$env(USER)"   { puts "je magare"; exp_continue } #mala šala
}
sudo apt-get install expect