Strona 1 z 1

skrypt .sh zmieniający codziennie datę w pliku

: 15 marca 2011, 09:30
autor: freak82
Witam.

Chciałbym stworzyć skrypt, który codziennie zmienia datę w pliku html. Problemem nie jest sama zmiana, tylko to, iż serwer pracuje od poniedziałku do piątku i nie mogę przeskoczyć tej weekendowej "dziury".
Próbowałem w ten sposób, jednak nie do końca to działa:

Kod: Zaznacz cały

#!/bin/sh

dzien=`date +%a`
dzisiaj=`date +%F`
wczoraj=`date --date '-1 day' +%F`
piatek=`date --date '-3 day' +%F`
www=/var/www

if [ $dzien="pon" ]
then
sed -e "s/$piatek/$dzisiaj/g" $www/index.html > $www/pog.tmp
else
sed -e "s/$wczoraj/$dzisiaj/g" $www/index.html > $www/pog.tmp
fi

mv $www/pog.tmp $www/index.html
Można prosić o jakąś wskazówkę? Z góry dziękuje.

: 15 marca 2011, 11:00
autor: mariaczi
Poprawny algorytm, to 90% sukcesu.
Sprawdź tak:

Kod: Zaznacz cały

#!/bin/bash

dzis_dt=`date +%a`
dzis_data=`date +%F`
www=/var/www

if [ "$dzis_dt" = "pon" ]; then
    stara_data=`date --date '-3 day' +%F`
else
    stara_data=`date --date '-1 day' +%F`
fi

echo $dzis_dt
echo $dzis_data
echo $stara_data

sed -e "s/$stara_data/$dzis_data/g" $www/index.html > $www/pog.tmp
mv $www/pog.tmp $www/index.html
Z innej beczki: nie prościej byłoby użyć javascriptu w tym pliku html?

Edycja:
Po zajrzeniu do źródła pliku, javascript - nie do końca. php jednak "można" poprosić o pomoc. No chyba, że na maszynie, na której umieszczasz ten plik nie masz obsługi php.

: 15 marca 2011, 11:59
autor: freak82
Dziękuję.
Z dodaniem obsługi php do serwera apache nie byłoby problemu, tylko czy jest sens dla jednego prostego skryptu ją włączać?

Pozdrawiam.

: 15 marca 2011, 15:29
autor: mariaczi
Sens widzę jak najbardziej.
Teraz masz tak (wycinek znaczącej linii):

Kod: Zaznacz cały

src="http://www.pogodynka.pl/http/assets/products/main_page_maps/day_2011-03-14d.jpg"
po włączeniu php, zmieniasz na

Kod: Zaznacz cały

src="http://www.pogodynka.pl/http/assets/products/main_page_maps/day_<?echo date('Y-m-d')?>d.jpg"
i śpisz spokojnie, nawet jeśli ktoś zapragnie skorzystać z serwera w weekend.