Korzystam z systemow statystyk awstats. Wymagają one czytania logów apache co sprawia, że /var/log/apache2/access.log musi mieć chmod 644 na Debianie z którego korzystam. Niestety muszę (urok wspoldzielonego serwera) utrzymywać chmody 640 tego pliku na serwerze. Tak więc w /etc/cron.d/awstats dodałem wpis
59 * * * * root chmod 644 /var/log/apache2/access.log
00 * * * * usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=moj_adres.pl update >/dev/null
01 * * * * root chmod 640 /var/log/apache2/access.log
Niestety tak nie działa, chociaż gdy są odpowiednie chmody, działa elegancko.

idąc dalej dodałem linijki zmiany chmodów do crontab root'a. Niestety nic to nie zmieniło. Jak więc zmienić chmody cron'em ? Zle to pisze, czy czegos nie zrozumialem w cron?

Edit: Skleiłem takie coś i uruchamiam z crontab'a root'a. Działa

  1. #!/bin/bash
  2. #
  3. # aktualizowanie awstats
  4. #
  5.  
  6. /bin/chmod 644 /var/log/apache2/access.log
  7. /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=nazwa_strony.pl -update >/dev/null
  8. /bin/chmod 644 /var/log/apache2/access.log