Здравствуй, сообщество!
Помогите, пожалуйста, со следующей проблемой:Есть 2 сервера (1-SUSELinux, 2-FreeBSD), нужно написать скрипт, который по каналу связи (допустим, ftp)отправлял файлы из определенных папок на сервере FreeBSD в определённые папки на другом сервере. Делал выборку по расширению файла, которые необходимо забирать(xml), и забирал только при наличии "новых файлов" на 1-м сервере.
P.S. Перерыл гугл и много форумов
>Есть 2 сервера (1-SUSELinux, 2-FreeBSD), нужно написать скрипт, который по каналу связи
>(допустим, ftp)отправлял файлы из определенных папок на сервере FreeBSD в определённые
>папки на другом сервере. Делал выборку по расширению файла, которые необходимо
>забирать(xml), и забирал только при наличии "новых файлов" на 1-м сервере.
>P.S. Перерыл гугл и много форумовftp критично?
man rsync
>ftp критично?
>
>man rsyncнет, не критично. Просто, по моему, проще)
Ман почитаю - спасибо!
>нет, не критично. Просто, по моему, проще)SSH + Key auth + scp - и всех то дел.
>>нет, не критично. Просто, по моему, проще)
>
>SSH + Key auth + scp - и всех то дел."Новые файлы" я так понимаю файлы которых раньше небыло, например имя у них генерится по времени создания. Например какой-то отчёт за день или типа того. Разве scp умеет грести файлы по маске или "только новые" ?
sftp может быть.Было бы неплохо уточнить задачу.
1) Файлы нужно скопировать с одного ПК на другой или перенести (т.е. после копирования удалить)? Если просто копировать, то rsync поверх ssh - отличнейший вариант.
2) Что подхватывает файлы со стороны сервера-приёмщика. Они просто туда складируются или их например каждые 3 минуты пытается обработать какая-нибудь чудопрограмма - это нужно учитывать, чтобы не оказалось что прога пытается недокачанные файлы обработать.
>[оверквотинг удален]
>новые" ?
>sftp может быть.
>
>Было бы неплохо уточнить задачу.
>1) Файлы нужно скопировать с одного ПК на другой или перенести (т.е.
>после копирования удалить)? Если просто копировать, то rsync поверх ssh -
>отличнейший вариант.
>2) Что подхватывает файлы со стороны сервера-приёмщика. Они просто туда складируются или
>их например каждые 3 минуты пытается обработать какая-нибудь чудопрограмма - это
>нужно учитывать, чтобы не оказалось что прога пытается недокачанные файлы обработать.1) Нужно копировать, т.к. из этого места забирают файлы еще несколько машин. Их настраивал не я и доступа у меня к ним нет. Однако, на моей машине (откуда необходимо пересылать файлы) rsync поднят, ssh стоит. Как их нужно настроить?
2) На приемщике - система просматривает определённые папки, берёт xml-файлы и загружает их в нужное место в зависимости от домена, прописанного в этих файлах. Это происходит, допустим, раз в 10 минут. файлы небольшие, поэтому копирование занимает довольно мало времени. если скопировать их, допустим, на 2-й минуте, к 5-й они зальются и на десятой их обработает система.
Скрипт простецкий:
1. берем список файлов для обработки
2. сортируем, в зависимости от дальнейшего направления записываем имя файла в соответствующий список
3. пишем сценарий для ftp-клиена:
open $HOST $PASS
bin
cd $DESTINATION_DIR
put $filename
....
bye
4. передаем сценарий ftp-клиенту( наподобии ftp -i -n < $SCENARIOFILEНе повредит так же проверку размеров вставить, на плохих каналах актуально...