Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Автоматическая замена файла на хостинге, через определенный интервал времени 
:(
    Опции темы
Webikus
Дата 9.9.2010, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 9.9.2010

Репутация: нет
Всего: нет



Здравствуйте!

Возникла такая проблема:

Содержание одного из файлов perl скрипта произвольно изменяется или полностью исчезает. А причину этого установить не удалось. 

В связи с этим есть необходимость в  регулярной замене этого текстового файла на его контрольный дубль прямо на хостинге. 

Т.е. нужно сделать так, чтобы скрипт(возможно с помощью cron) с периодичностью в 15 минут заменял на хостинге этот файл на соседний. Файлы с расширением .txd и находятся в папке /public_html/cgi-bin/ ...

Например, чтобы файл text.txd автоматически заменялся каждые 15 минут на его контрольный дубль (text.txd), лежащий в соседней папке. И при этом права доступа к файлу не сбрасывались.

Пожалуйста, подскажите возможные решения!? 
Если можно, то объясните поподробней.. 

Заранее благодарю!

Это сообщение отредактировал(а) Webikus - 9.9.2010, 23:35
PM MAIL   Вверх
DurRandir
Дата 10.9.2010, 01:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 335
Регистрация: 27.9.2009

Репутация: 1
Всего: 17



Лучше решите проблему, почему оно исчезает. Варианта 3:
1. вы его сами удаляете, но случайно 
2. кто-то его удаляет специально, на этом же сервере
3. кто-то его удаляет специально, через дыру в скрипте

Проще всего проверить 1, потом 3, потом 2. 1,3 - ищите все команды удаления/открытия на запись, и пишите в лог из аргументы. Ищите, как они туда попали. Как вариант - если вы туда что-то пишете, то м.б. требуются блокировки на доступ к файлу, т.к. один поток его открывает, стирает, второй открывает, читает, первый пишет нормальные данные, закрывает, а второй теперь пишет пустые данные.
PM   Вверх
Webikus
Дата 10.9.2010, 04:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 9.9.2010

Репутация: нет
Всего: нет



В том то и дело, что я так и не понял что там происходит.
А тут речь не о починке скрипта, а о возможности замены файла через определенное время.

Я думаю, что это может пригодится не только в моем случае, а еще для многих задач.
PM MAIL   Вверх
ming
Дата 10.9.2010, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 30.1.2009
Где: Новосибирск

Репутация: нет
Всего: 3



>>Пожалуйста, подскажите возможные решения!? 

crontab:
*/15 * * * *  cp  /path/to/backup/text.txd   /public_html/cgi-bin/


Это сообщение отредактировал(а) ming - 10.9.2010, 10:04
PM MAIL ICQ Jabber   Вверх
DurRandir
Дата 10.9.2010, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 335
Регистрация: 27.9.2009

Репутация: 1
Всего: 17



У меня течёт кран, но я не буду его чинить, подскажите, чем лучше вычерпывать воду.

Это сообщение отредактировал(а) DurRandir - 10.9.2010, 10:21
PM   Вверх
shamber
Дата 10.9.2010, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: нет
Всего: 18



DurRandir, может позвать пожарных?
PM MAIL Jabber   Вверх
Webikus
Дата 20.9.2010, 05:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 9.9.2010

Репутация: нет
Всего: нет



ming,
Большое спасибо, разобрался!

В общем расскажу чуть поподробней для таких же ламеров как я)

Сначала создаем в папке /public_html/cgi-bin/ пустой файл без расширения. Например: test
(возможно понадобится выставить права доступа на него. В моем случае это 705)

Дальше внутри пишем следующее:

-----------------------
#!/bin/sh

cp ~/public_html/cgi-bin/test.txt ~/public_html/test.txt
-----------------------
Где
#!/bin/sh - командный интерпретатор (может отличаться)
cp - функция копирования
~  - путь до корня сайта
/public_html/cgi-bin/test.txt -  файл, который копируем
/public_html/test.txt - путь в нужную папку (сам файл создавать не нужно)

Потом по средствам админки хостинга  назначаем задание на вызов этого скрипта с интервалом в 15 мин.

*/15 * * * *    ~/public_html/cgi-bin/test 

В начале, для отладки, можно сделать копирование каждую минуту (ставим все звездочки)

Ну и проверяем результат..!


Вот нашел еще примеры по теме:
Чтобы переместить файлы и каталоги используется команда «mv». Чтобы скопировать – команда «cp».
Для перемещения всех файлов из одной директории в другую (в примере – перемещение из www/site1/public_html/ в www/site2/public_html), команда будет иметь следующие параметры:

mv ~/www/site1/public_html/* ~/www/site2/public_html/

Для того, чтобы скопировать, а не перемещать данные файлы, следует использовать следующее выражение:
cp -R ~/www/site1/public_html/ ~/www/site2/public_html/

Для переноса файла, например, index.html, следует использовать команду с параметрами:
mv ~/www/site1/public_html/index.html ~/www/site2/public_html/index.html

Также «mv» используется для переименования файла. Переименуем index.html в index.html.old:
mv ~/www/site1/public_html/index.html ~/www/site1/public_html/index.html.old


Это сообщение отредактировал(а) Webikus - 20.9.2010, 06:01
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.0851 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.