Доброго
Столкнулся с такой проблемой:
по фтп (proftpd) клиенты заливают служебные файлы, а точнее обновляют (перезаписывают) их, эти файлы сканируются другой программой и далее идут на обработку.
Возникла проблема логгирования этих файлов, т.к. клиенты могут закачать неверный файл а потом его перезаписать на верный, что надо отследить.
Подскажите пожалуйста, можно ли проделать следующее, к примеру:
В папку на ФТП сервере /folder клиент заливает файл, file.txt, затем, ещё 10 раз с интервалом в 5 минут он перезаписывает этот файл.
Необходимо, чтобы ФТП сервер, при каждой закачке клиентом файла file.txt в папку /folder делал сразу же копию этого файла к примеру в папку /logs с именем 081203_222312_file.txt, т.е. с меткой времени, и при каждой перезаписи файла /folder/file.txt делалась бы его копия с меткой времени в соседне папке.
proftpd. Копия файлов на лету при закачке на сервер.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- Alex Keda
- стреляли...
- Сообщения: 35457
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: proftpd. Копия файлов на лету при закачке на сервер.
кроном тока если...
Убей их всех! Бог потом рассортирует...
-
- проходил мимо
- Сообщения: 2
- Зарегистрирован: 2008-12-03 22:18:31
Re: proftpd. Копия файлов на лету при закачке на сервер.
А триггер какой-нить можно поставить?
Либо в proftpd, чтобы при закачке файла (после полной закачки) вызывался скриптик, либо триггер который отслеживает дату последней модификации файла?
Может что-то типа тока выход перенаправить в скрипт, который и будет отслеживать закачку файла в папку и делать копии?
Либо в proftpd, чтобы при закачке файла (после полной закачки) вызывался скриптик, либо триггер который отслеживает дату последней модификации файла?
Может что-то типа
Код: Выделить всё
tail -f /var/log/proftpd/xfer.log
- Alex Keda
- стреляли...
- Сообщения: 35457
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: proftpd. Копия файлов на лету при закачке на сервер.
ну так напиши...
часть ты уже написал
часть ты уже написал
Убей их всех! Бог потом рассортирует...
-
- лейтенант
- Сообщения: 831
- Зарегистрирован: 2007-06-01 19:27:51
proftpd. Копия файлов на лету при закачке на сервер.
Столкнулся с похожей задачей, нужно было мониторить с какими файлами работает конкретный пользователь, чтобы отловить изменения.
Логи фтпшника у менЯ лежат в мускуле.
Написал вот такую писульку:
Отправлено спустя 2 часа 39 минут 27 секунд:
Но вот с чемя столкнулся, так это то что в консоли скрипт отрабатывает ок, а если запускается по крону, то всегда из базы получает данные, не зависимо от даты из файла... Подскажите, где туплю уже 3-й час... ?
Отправлено спустя 1 час 16 минут 3 секунды:
Все оказалось как обычно в невнимательности....
заменить на
Логи фтпшника у менЯ лежат в мускуле.
Написал вот такую писульку:
Код: Выделить всё
#!/bin/sh
mkdir="/bin/mkdir"
cp="/bin/cp"
mysql="/usr/local/bin/mysql"
cat="/bin/cat"
echo="/bin/echo"
#путь где лежит скрипт
mydir="/usr/local/scripts/ftpspy"
# сюда кладется все зазеркаленое
dir4spy="${mydir}/SPYed"
# здесь лежит дататайм последней проверки
lastspydtfile="${mydir}/lastspydt"
#мониторим запросы с этого
ftpClientIP1="3.2.1.2"
# и с этого IP
ftpClientIP2="1.4.18.4"
lastspydt=`${cat} lastspydt`
mysql_user="ftpuser"
mysql_passwd="ftpuserpassword"
query_preffix="${mysql} --user=${mysql_user} --password=${mysql_passwd} "
DateNow="`date +%Y-%m-%d`"
TimeNow="`date +%H:%M:%S`"
ftploggeffilename=`${query_preffix} -s --database="proftpd" --execute="SELECT file_and_path FROM transfers WHERE timestamp>='${lastspydt}' AND (client_IP='${ftpClientIP1}' client_IP='${ftpClientIP2}') " `
#echo ${ftploggeffilename}
for file4copy in ${ftploggeffilename};do
${mkdir} -p $dir4spy/`dirname ${file4copy}`
cp ${file4copy} $dir4spy/`dirname ${file4copy}`/`basename ${file4copy}`__${DateNow}_${TimeNow}
done
${echo} "${DateNow} ${TimeNow}" > ${lastspydtfile}
Но вот с чемя столкнулся, так это то что в консоли скрипт отрабатывает ок, а если запускается по крону, то всегда из базы получает данные, не зависимо от даты из файла... Подскажите, где туплю уже 3-й час... ?
Отправлено спустя 1 час 16 минут 3 секунды:
Все оказалось как обычно в невнимательности....
Код: Выделить всё
lastspydt=`${cat} lastspydt`
Код: Выделить всё
lastspydt=`${cat} ${lastspydtfile}`
- dekloper
- ст. лейтенант
- Сообщения: 1331
- Зарегистрирован: 2008-02-24 15:43:19
- Откуда: давно здесь сидим..
- Контактная информация:
proftpd. Копия файлов на лету при закачке на сервер.
dtrace-ом отслеживать системный вызов открытия\закрытия файла... ну и ченить там делать с ним...
ТОВАгИЩИ! БгАТЬЯ И СЕСТгЫ! ДОЛОЙ гАВНОДУШИЕ!