( Nextra | 2020. 05. 28., cs – 11:03 )

Igen. Köszi. De az csak ott lehet?

Lássuk egészben. Ahogy a bevezetőben írtam, van egy fájl időpontokkal teli. A szkript amit szándékozok lefuttatni, az a következőket teszi.

Először is megkeresi a fájlt.

wake_path=$(/usr/bin/find $HOME/ -maxdepth 3 -name "rectime.txt" -exec dirname {} \; 2>/dev/null)
wake_file="rectime.txt"

Az aktuális dátumhoz képest letörli a régieket. 

awk -v _now="${actualtime}" '$1 > _now {print $1}' < "${wake_path}/${wake_file}" > /tmp/"${wake_file}"

Majd ezt a tisztított fájlt mv-vel visszateszem a helyére. Utána kiveszem az aktuális időhöz legközelebb eső időpontot amikor be kell kapcsolnia a gépnek.

nextTime=$(head -n1 < "${wake_path}/${wake_file}" | sort)

Majd az így kapott időt átadom az rtcwake-nak. Nos itt  gyenge pont az az, hogy a wake_path és a wake_file a felhasználó valamelyik mappájában van. S emiatt, mivel a felhasználó bárki lehet, muszáj változóba tenni az útvonalat. Esetleg milyen más alternatívák lehetnek? /usr/local/etc/ s ide tenni a wake_filet-? Akkor lehetne abszolút útvonalat használni. S nem kell törődni a felhasználókkal, ellenben hozzáférést kell biztosítani a felhasználó részére az /usr/share/etc fájlhoz. Ha itt harapom meg itt fáj, ha ott akkor ott. Ötletek? Esetleg más megközelítés?