Results 1 to 6 of 6

Thread: crond и выполнение скрипта - где грабли?

  1. #1
    Join Date
    Aug 2006
    Location
    St.-Petersburg
    Posts
    22

    Cool crond и выполнение скрипта - где грабли?

    Коллеги, написал маленький скипт для архивирования логов на флешку во избежание. Уже с дебагом
    -----------
    [root@titanium root]$ cat /opt/etc/cron.daily/syslog.sh
    #!/bin/sh
    echo 1 >> /tmp/syslog.log
    mkdir /opt/var/log/syslog.arch/tmp
    echo 2 >> /tmp/syslog.log
    cp /tmp/syslog.log* /opt/var/log/syslog.arch/tmp/
    echo 3 >> /tmp/syslog.log
    rm -rf /tmp/syslog.log.*
    echo > /tmp/syslog.log
    echo 4 >> /tmp/syslog.log
    tar -cjf /opt/var/log/syslog.arch/$(date +%F).tar.bz2 /opt/var/log/syslog.arch/tmp
    echo 5 >> /tmp/syslog.log
    rm -rf /opt/var/log/syslog.arch/tmp

    [root@titanium root]$
    --------------

    и в crontab
    --------------
    02 4 * * * root run-parts /opt/etc/cron.daily
    --------------

    run-parts взят с http://www.macsat.com/cron.php

    Результат - лог стирается, а архив не создается.
    Cтавлю в crontab без run-parts - аналогично.
    Запускаю то-же руками - работатет!

    Где я не прав?

  2. #2
    Join Date
    Oct 2006
    Location
    Russia, Izhevsk
    Posts
    17
    попробуй в crontab написать
    --------------
    02 4 * * * root run-parts /opt/etc/cron.daily/syslog.sh

  3. #3
    Join Date
    Aug 2006
    Location
    St.-Petersburg
    Posts
    22
    Ну, когда я писал "Cтавлю в crontab без run-parts - аналогично." я имел в виду
    02 4 * * * root /opt/etc/cron.daily/syslog.sh

    А если по твоему, то не выйдет - run-parts ест на вход каталоги, а не файлы...

  4. #4
    Join Date
    Aug 2006
    Location
    Moscow, Russia
    Posts
    788
    Есть предположение, что для cron нет в $PATH пути /opt/bin, где лежит(если конечно он установлен) полноценный tar. А tar который в busybox непринимает -j. Если нужно только syslog.log архивировать я бы рекомендовал так сделать:
    Code:
    /opt/bin/tar --remove-files -cjf /opt/var/log/$(date +%F).tar.bz2 /tmp/syslog.log
    Это лог заархивирует и сотрет старый. В случае неудачи старый лог не сотрется.

  5. #5
    Join Date
    Oct 2006
    Location
    Russia, Izhevsk
    Posts
    17
    да, в моем случае без run-parts, забыл стереть из цитаты

  6. #6
    Join Date
    Aug 2006
    Location
    St.-Petersburg
    Posts
    22
    Возвращаюсь к теме.
    1. полноценный tar стоит
    2. использую вариант скрипта Mam(О)n (спасибо)
    3. run-parts и напрямую прописал
    По барабану. Идеи есть? Куда копать?

Similar Threads

  1. Где берут 1.9.2.7-7d-pre4
    By VadimVB in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 1
    Last Post: 07-04-2006, 07:05

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •