<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Мониторинг (на стороне сервера) ФТП на наличие новых файлов</title>
    <link>https://ns.opennet.ru/openforum/vsluhforumID8/6802.html</link>
    <description>Гуру!&lt;br&gt;Помогите советом, ткните меня в какую сторону копать.&lt;br&gt;&lt;br&gt;Есть хостинг с CPanel.&lt;br&gt;Есть папка publicftp, в ней для каждого пользователя своя папка.&lt;br&gt;Пользователь может залить в эту свою папку файл, я могу забрать этот файл. Могу пользователю в его папку кинуть какой-то другой файл.&lt;br&gt;&lt;br&gt;Так вот сейчас я совсем не знаю когда пользователь залил что-то для меня.&lt;br&gt;Мне приходится постоянно залазить в publicftp и проверять кто что в свою папку закинул.&lt;br&gt;&lt;br&gt;Как сделать мониторинг на наличие новых файлов с уведомлением например по почте?&lt;br&gt;&lt;br&gt;Понимаю что можно ФТП клиент зашедулить на проверку.&lt;br&gt;Но интересует именно мониторинг на стороне сервера. И чтобы этот мониторинг уведомлял о появлении новых файлов.&lt;br&gt;&lt;br&gt;И еще один непонятный для меня вопрос: когда пользователь начал заливать файл - я законнектился к ФТП и вижу файл. НО! Пользователь еще заливает его, при обновлении папки размер файла увеличивается. Так вот хотелось бы получать уведомление именно когда файл полностью успешно загружен, а не когда он появился и еще</description>

<item>
    <title>Мониторинг (на стороне сервера) ФТП на наличие новых файлов (rrr)</title>
    <link>https://ns.opennet.ru/openforum/vsluhforumID8/6802.html#11</link>
    <pubDate>Wed, 21 Apr 2010 07:42:40 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt;fi &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;&#091;/code&#093; &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;пути только свои у find-а поставьте, либо вынесите их в переменные, если &lt;br&gt;&amp;gt;&amp;gt;так больше нравится. &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;rm-ать файл, а потом его touch-ить не надо. Если файл не существует, &lt;br&gt;&amp;gt;&amp;gt;touch его создаст, иначе обновит время модификации и посл. доступа у &lt;br&gt;&amp;gt;&amp;gt;файла. &lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Мониторинг (на стороне сервера) ФТП на наличие новых файлов (yyy)</title>
    <link>https://ns.opennet.ru/openforum/vsluhforumID8/6802.html#10</link>
    <pubDate>Wed, 21 Apr 2010 07:41:22 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;fi &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;&#091;/code&#093; &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;пути только свои у find-а поставьте, либо вынесите их в переменные, если &lt;br&gt;&amp;gt;так больше нравится. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;rm-ать файл, а потом его touch-ить не надо. Если файл не существует, &lt;br&gt;&amp;gt;touch его создаст, иначе обновит время модификации и посл. доступа у &lt;br&gt;&amp;gt;файла. &lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Мониторинг (на стороне сервера) ФТП на наличие новых файлов (cuad0)</title>
    <link>https://ns.opennet.ru/openforum/vsluhforumID8/6802.html#9</link>
    <pubDate>Fri, 02 Apr 2010 12:49:07 GMT</pubDate>
    <description>&amp;gt;что то типа : &lt;br&gt;&lt;br&gt;Можно укоротить:&lt;br&gt;&lt;br&gt;&#091;code&#093;&lt;br&gt;#!/usr/local/bin/bash&lt;br&gt;&lt;br&gt;file_list=&#096;find . -newermt &quot;10 min ago&quot;&#096;&lt;br&gt;&lt;br&gt;if &#091; -n &quot;$file_list&quot; &#093; then&lt;br&gt;mail email&#064;addr.com -s &quot;new files&quot; &amp;lt; echo $file_list&lt;br&gt;fi&lt;br&gt;&lt;br&gt;&#091;/code&#093;&lt;br&gt;&lt;br&gt;пути только свои у find-а поставьте, либо вынесите их в переменные, если так больше нравится.&lt;br&gt;&lt;br&gt;rm-ать файл, а потом его touch-ить не надо. Если файл не существует, touch его создаст, иначе обновит время модификации и посл. доступа у файла.&lt;br&gt;</description>
</item>

<item>
    <title>Мониторинг (на стороне сервера) ФТП на наличие новых файлов (Karmael)</title>
    <link>https://ns.opennet.ru/openforum/vsluhforumID8/6802.html#8</link>
    <pubDate>Wed, 31 Mar 2010 15:30:55 GMT</pubDate>
    <description>&amp;gt;2 Karmael &lt;br&gt;&amp;gt;Спасибо вам огромное за помощь и внимание к моему вопросу. &lt;br&gt;&amp;gt;Когда получаешь такие ответы - возвращается вера в людей ;) &lt;br&gt;&amp;gt;Сегодня вечером буду пробовать. Надеюсь все получится, но если что - наберусь &lt;br&gt;&amp;gt;наглости и обращусь еще :) &lt;br&gt;&lt;br&gt;А да, надо бы еще проверочку сделать, чтоб не отсылал пустые письма.&lt;br&gt;что то типа :&lt;br&gt;#=========================ftp_check.sh===================================================&lt;br&gt;#!/bin/bash&lt;br&gt;# Задаем переменные: &lt;br&gt;# в этой переменной храниться путь к пид файлу:&lt;br&gt;pid_file=&quot;/root/check.pid&quot;&lt;br&gt;# а вот в этой _результат_ выполнения комманды:&lt;br&gt;ftp_file_list=&#096;find /home/ftp -cnewer $pid_file&#096;&lt;br&gt;&lt;br&gt;#проверяем не пусто ли в переменной:&lt;br&gt;if &#091; $ftp_file_list -eq &quot;&quot; &#093; then &lt;br&gt;#если пусто, то пересоздаем pid file, и выходим&lt;br&gt;rm $pid_file&lt;br&gt;touch $pid_file&lt;br&gt;exit 5&lt;br&gt;#если что то есть, отправляем на почту и пересоздаем pid:&lt;br&gt;    else &lt;br&gt;        mail мне&#064;любимому.ru -s &quot;New files for last 10 minuts&quot; &amp;lt; echo &quot;$ftp_file_list&quot;&lt;br&gt;        rm $pid_file&lt;br&gt;        touch $pid_file&lt;br&gt;fi&lt;br&gt;#============</description>
</item>

<item>
    <title>Мониторинг (на стороне сервера) ФТП на наличие новых файлов (Karmael)</title>
    <link>https://ns.opennet.ru/openforum/vsluhforumID8/6802.html#7</link>
    <pubDate>Wed, 31 Mar 2010 13:25:14 GMT</pubDate>
    <description>&amp;gt;2 Karmael &lt;br&gt;&amp;gt;Спасибо вам огромное за помощь и внимание к моему вопросу. &lt;br&gt;&amp;gt;Когда получаешь такие ответы - возвращается вера в людей ;) &lt;br&gt;&amp;gt;Сегодня вечером буду пробовать. Надеюсь все получится, но если что - наберусь &lt;br&gt;&amp;gt;наглости и обращусь еще :) &lt;br&gt;&lt;br&gt;Да не вопрос, обращайтесь =) людям помогать нужно =) &lt;br&gt;</description>
</item>

<item>
    <title>Мониторинг (на стороне сервера) ФТП на наличие новых файлов (alexkv)</title>
    <link>https://ns.opennet.ru/openforum/vsluhforumID8/6802.html#6</link>
    <pubDate>Wed, 31 Mar 2010 13:18:54 GMT</pubDate>
    <description>2 Karmael&lt;br&gt;Спасибо вам огромное за помощь и внимание к моему вопросу.&lt;br&gt;Когда получаешь такие ответы - возвращается вера в людей ;)&lt;br&gt;Сегодня вечером буду пробовать. Надеюсь все получится, но если что - наберусь наглости и обращусь еще :)&lt;br&gt;</description>
</item>

<item>
    <title>Мониторинг (на стороне сервера) ФТП на наличие новых файлов (Karmael)</title>
    <link>https://ns.opennet.ru/openforum/vsluhforumID8/6802.html#5</link>
    <pubDate>Wed, 31 Mar 2010 12:35:20 GMT</pubDate>
    <description>&amp;gt;Этот вопрос интересует, т.к. файлы могут быть и большими, закачиваться и 2, &lt;br&gt;&amp;gt;и 4, 10 часов. &lt;br&gt;&lt;br&gt;Все гораздо проще ))) &lt;br&gt;&lt;br&gt;мы создаем файл. check.pid у него есть дата и время создания. &lt;br&gt;find &amp;lt;откуда ищем&amp;gt; -cnewer check.pid будет искать файлы от &amp;lt;откуда ищем&amp;gt; СТАРШЕ чем файл check.pid&lt;br&gt;т.е. все файлы которые были созданы после того как был создан файл check.pid&lt;br&gt;&lt;br&gt;&lt;br&gt;вот я тут в консольке покажу как это работает:&lt;br&gt;&lt;br&gt;akleev&#064;ws147:~/scripts$ rm test.pid &lt;br&gt;rm: удалить защищенный от записи пустой обычный файл &#096;test.pid&apos;? y&lt;br&gt;akleev&#064;ws147:~/scripts$ touch test.pid&lt;br&gt;akleev&#064;ws147:~/scripts$ find . -cnewer test.pid&lt;br&gt;#вот тут он ничего не нашел т.к. это самый новый файл в текущей директории&lt;br&gt;#ниже я создаю файлы тупым touch, и они будут старше чем check.pid&lt;br&gt;akleev&#064;ws147:~/scripts$ touch 1.txt&lt;br&gt;akleev&#064;ws147:~/scripts$ touch 2.txt&lt;br&gt;akleev&#064;ws147:~/scripts$ touch 3.txt&lt;br&gt;#ниже запускаем поиск еще раз&lt;br&gt;akleev&#064;ws147:~/scripts$ find . -cnewer test.pid &lt;br&gt;.&lt;br&gt;./3.txt&lt;br&gt;./1.txt&lt;br&gt;./2.txt&lt;br&gt;akleev&#064;ws147:~/scripts$ &lt;br&gt;&lt;br&gt;вуаля.&lt;br&gt;&lt;br&gt; Это </description>
</item>

<item>
    <title>Мониторинг (на стороне сервера) ФТП на наличие новых файлов (alexkv)</title>
    <link>https://ns.opennet.ru/openforum/vsluhforumID8/6802.html#4</link>
    <pubDate>Wed, 31 Mar 2010 12:25:12 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;быть и в панели управления хостингом - просто обязан быть crontab &lt;br&gt;&amp;gt;:) &lt;br&gt;&amp;gt;иначе никак, не получиться проверять раз в сколько то минут. &lt;br&gt;&amp;gt;в общем по логике задачи - все довольно просто, вы перенаправляете почтовому &lt;br&gt;&amp;gt;клиенту результат работы find который ищет от определенной папки _вглубь_ все &lt;br&gt;&amp;gt;файлы что новей файла check.pid. потом файл удаляется и создается новый &lt;br&gt;&amp;gt;(чтобы было от куда отсчет делать, ибо он по крону будет &lt;br&gt;&amp;gt;создаваться раз в 10 минут) &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;посмотрите что можно сделать на вашем хостинге. &lt;br&gt;&lt;br&gt;Все понял. СПАСИБО!!!&lt;br&gt;Сегодня вечером дома буду пробовать реализовать такое.&lt;br&gt;А отслеживать именно окончание загрузки наверное сложно. Это уже наверное надо логи ФТП сервера разбирать.&lt;br&gt;И получается пока файл качается при каждой проверке эта система будет &quot;срабатывать&quot;? Ведь в процессе закачки файла его дата или время меняются? Или я что-то путаю?&lt;br&gt;Начали закачивать файл на ФТП. Система установила ему некую дату/время создания. Потом в процессе закачки эти дата/время будут</description>
</item>

<item>
    <title>Мониторинг (на стороне сервера) ФТП на наличие новых файлов (Karmael)</title>
    <link>https://ns.opennet.ru/openforum/vsluhforumID8/6802.html#3</link>
    <pubDate>Wed, 31 Mar 2010 12:14:09 GMT</pubDate>
    <description>&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Спасибо большое. &lt;br&gt;&amp;gt;Вот только я совсем забыл сказать - хостинг у меня шаред. &lt;br&gt;&amp;gt;Нет у меня там консоли (root#) :( &lt;br&gt;&amp;gt;Хостинг буржуйский. Вроде где-то мелькало что они по допзапросу с какими-то дополнительными &lt;br&gt;&amp;gt;подтверждениями личности дают ssh, но не уверен. &lt;br&gt;&amp;gt;Я конечно сегодня посмотрю еще, но сомневаюсь :( &lt;br&gt;&lt;br&gt;на крон все вешают по запросу - но на самом деле должно быть и в панели управления хостингом - просто обязан быть crontab :)&lt;br&gt;иначе никак, не получиться проверять раз в сколько то минут.&lt;br&gt;в общем по логике задачи - все довольно просто, вы перенаправляете почтовому клиенту результат работы find который ищет от определенной папки _вглубь_ все файлы что новей файла check.pid. потом файл удаляется и создается новый (чтобы было от куда отсчет делать, ибо он по крону будет создаваться раз в 10 минут)&lt;br&gt;&lt;br&gt;посмотрите что можно сделать на вашем хостинге. &lt;br&gt;</description>
</item>

</channel>
</rss>
