Odp: Skrypt w cronie co równe 30 lub 31 dni, jak ??
date +%s > /tmp/plik
ZMIENNA=$(cat /tmp/plik)
%s zawiera liczbę sekund do 1970. Więc nic ci się nie przekręci.
Nie jesteś zalogowany. Proszę się zalogować lub zarejestrować.
eko.one.pl → Oprogramowanie / Software → Skrypt w cronie co równe 30 lub 31 dni, jak ??
Strony Poprzednia 1 2
Zaloguj się lub zarejestruj by napisać odpowiedź
date +%s > /tmp/plik
ZMIENNA=$(cat /tmp/plik)
%s zawiera liczbę sekund do 1970. Więc nic ci się nie przekręci.
Ale za kazdym razem ZMIENNA będzie nadpisywana
Teraz mam taki efekt:
root@OpenWrt:~# sh -x /root/test_.sh
+ date +%s
+ TODAY=1489857690
+ date +%s
+ cat /tmp/plik
+ ZMIENNA=1489857690
+ [ 1489857690 -lt 1489857690 ]
+ echo TEST
TEST
A skrypt:
TODAY=`date +%s`
date +%s > /tmp/plik
ZMIENNA=$(cat /tmp/plik)
if [ $ZMIENNA -lt $TODAY ]; then
echo WYKONUJE
#"TWOJA KOMENDA/Y"
else
echo TEST
fi
Wrzuć zmienna do ifa.
Kombinuje jeszcze cos w ten desen, ale po omacku trochę robie
i są nadal błędy.
Nie wiem jak zrobić że jesli zmienna jest wieksza o jakas konkretną wartosc to wtedy dopiero wykonuje sie....
date +%s > /tmp/plik
ZMIENNA=$(cat /tmp/plik)
ZMIENNA2=$(($ZMIENNA+2678400))
if [ $ZMIENNA -lt $ZMIENNA2 ]; then
echo WYKONUJE
#"TWOJA KOMENDA/Y"
else
echo TEST
fi
Ale po co za każdym uruchomieniem wrzucasz datę do pliku? date +%s > /tmp/plik to wrzucić w ifie dopiero.
If zaraz poprawię.
Tylko ze nadal rozchodzi sie jak zrobic if o jakąs konkretną roznice w sekundach ![]()
Poprosze jeszcze o nakierowanie, poprawki ![]()
wg tego co napisałeś:
#!/bin/sh
TODAY=`date +%s`
[ -e /tmp/plik ] || echo 0 > /tmp/plik
ZMIENNA=$(cat /tmp/plik)
ZMIENNA2=$(($ZMIENNA+2678400))
if [ $ZMIENNA2 -lt $TODAY ]; then
date +%s > /tmp/plik
echo WYKONUJE
fiOk, to jedno rozwiązane ![]()
A jak zrobić zaleznosc ze przy konkretnej roznicy 2678400 ma wykonać inny skrypt ??
Ps.
A zmiana godzin z czasu letniego na zimowy i odwrotnie to chyba znów mi rozwali "system" ![]()
-eq zamiast -lt.
Tylko to jest bezsensu bo nie trafisz dokładnie w tą samą sekundę po 31 dniach.
nie musi byc ta sama, ale wartosc moze byc wyzsza ![]()
Czyli jak to zrobić
?
Kurde noż. Przecież właśnie miałeś lt po to. Pomyśl trzy razy zamiast napiszesz takiego posta.
Tak, wiem co masz na myśli ![]()
Ale to chodzi o to aby wartosc roznicy była minimum taka sama lub wyzsza od 31 dni roznicy czyli od roznicy ostatnio zapisanej zmiennej + 2678400, dobrze myslę ?
Tak to działa. Jak minie 31 chociaż o sekundę to wykona to co ma zrobić.
Własnie miałem to napisać
Czyli automatycznie zapisze nowy plik do ustalonego katalogu ( w celu porównania do kolejnego 31 dnia ) jak i moze wykonac konkretny skrypt który potrzebuję ![]()
A masz pomysł co z zmianą czasu letniego na zimowy itd ?
No i jeszcze jeden "problem" ![]()
Potrzebuję policzyc ile to było sekund wczoraj o 1 w nocy
- własciwie dzisiaj 5.5 godziny temu ![]()
Serio? Kalkulator w dłoń i sam policzysz ile to jest 5,5 godziny od teraz.
Hehe
No to licze ![]()
Tylko nie zapomnij o nadpisaniu daty w pliku po spełnieniu warunku
Strony Poprzednia 1 2
Zaloguj się lub zarejestruj by napisać odpowiedź
eko.one.pl → Oprogramowanie / Software → Skrypt w cronie co równe 30 lub 31 dni, jak ??
Forum oparte o PunBB, wspierane przez Informer Technologies, Inc