The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Небольшой скриптик. Проверка файлов."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Небольшой скриптик. Проверка файлов."  
Сообщение от HighVoltage email(ok) on 24-Апр-07, 09:55 
Хочу написать скриптик, ну он весь. Подскажите. Никаких условий не писал никогда.
Хочтся услышать совета в виде примера и может ссылку на статейку где описано как и что про скрипты.

В кроне запускается скрипт каждый час. Но есть проблема что он за час может не отработать до конца. Хотел сделать по умному, как делают обычно во всех программах. Т.е. в /var/tmp создать файлик с PID процесса, хотя туда даже PID не обязательно помещать. И при старте программы проверять. Существует ли данный файл, если да то завершить скрипт, если нет то продолжить выполнение а в конце этот файл стереть.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Небольшой скриптик. Проверка файлов."  
Сообщение от dronord (ok) on 24-Апр-07, 10:07 
http://gazette.linux.ru.net/rus/articles/abs-guide/index.html

Посоветовал бы проверять не только наличие, но и дату изменения. Если скрипт "вылетел", файл останется и аналогичный скрипт больше не запуститься.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Небольшой скриптик. Проверка файлов."  
Сообщение от HighVoltage email(ok) on 24-Апр-07, 10:27 
>http://gazette.linux.ru.net/rus/articles/abs-guide/index.html
>
>Посоветовал бы проверять не только наличие, но и дату изменения. Если скрипт
>"вылетел", файл останется и аналогичный скрипт больше не запуститься.


Спасибо большое.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Небольшой скриптик. Проверка файлов."  
Сообщение от madskull (??) on 24-Апр-07, 13:10 
>http://gazette.linux.ru.net/rus/articles/abs-guide/index.html
>
>Посоветовал бы проверять не только наличие, но и дату изменения. Если скрипт
>"вылетел", файл останется и аналогичный скрипт больше не запуститься.
Что бы файл не оставался при "вылете" - надо trap'ы юзать

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Небольшой скриптик. Проверка файлов."  
Сообщение от phpcoder (??) on 24-Апр-07, 12:02 
[...]
>В кроне запускается скрипт каждый час. Но есть проблема что он за
>час может не отработать до конца. Хотел сделать по умному, как
>делают обычно во всех программах. Т.е. в /var/tmp создать файлик с
>PID процесса, хотя туда даже PID не обязательно помещать.

PID-файлы надо создавать в /var/run:

%
       /var/run
              Run-time  variable files, like files holding process identifiers
              (PIDs) and logged user information (utmp).  Files in this direc-
              tory are usually cleared when the system boots.
%
(с) man 7 hier

Вот пример,как можно создать:

lock_dir=/var/run
lock_file=$lock_dir/program.pid

trap 'rm -f $lock_file' 1 2 3 4 6 8 9 11 13 14 15

printf '%d\n' $$  > $lock_file
...
rm -f $lock_file

Обрати внимание на trap, это позволит удалять lock-файл при поступлении сигналов разных.

> И при
>старте программы проверять. Существует ли данный файл, если да то завершить
>скрипт, если нет то продолжить выполнение а в конце этот файл
>стереть.

if [ -f /var/run/program.pid ]; then
   echo "Program already started!" ?&2
   exit 1
fi

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Небольшой скриптик. Проверка файлов."  
Сообщение от phpcoder (??) on 24-Апр-07, 12:04 
>   echo "Program already started!" ?&2
echo "Program already started!" >&2
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру