Автоматическая загрузка файла журнала с сервера Unix на компьютер с Windows
У меня есть сервер Unix, на котором постоянно работающее приложение генерирует большой текстовый журнал. (примерно 100 мг в час).
Моя основная машина для разработки - это компьютер с Windows, и чтобы посмотреть, что происходит с приложением, я использую Filezilla, чтобы загрузить файл журнала на ПК, где я использую notepad++ для просмотра записей журнала.
Весь процесс кажется мне немного запутанным - поэтому не могли бы вы порекомендовать инструмент, который я мог бы запустить на своем ПК для подключения к Unix-серверу и автоматически загрузить файл журнала, - чтобы я мог анализировать его на своей машине с Windows, где у меня есть все необходимые инструменты (мой доступ к Unix очень ограничен - поэтому просмотр файла журнала в окне Unix на самом деле не вариант).
Спасибо.
5 ответов
У самой Windows есть эти инструменты. Используйте ftp, чтобы получить файл. Вы можете настроить файл с именем snatch.ftp:
user
USERNAME
PASSWORD
get /location/of/logfile.txt logfile.txt
bye
(с подходящими значениями USER и PASSWORD), затем есть командный файл (snatch.cmd
) выполнять запланированные задания по любому графику:
ftp -n -s:snatch.ftp
Я должен сказать, что генерация 100M в час не очень хорошая идея для любого файла журнала. Возможно, это необходимо, но вы должны выяснить, почему генерируется так много данных и действительно ли это необходимо.
Перенос 100M в час по сети - это то, о чем я тоже должен быть осторожен. Я знаю, что вы заявили, что у вас нет достаточного доступа к стороне UNIX, но я все равно буду рассматривать это как первый выбор, тем более что инструменты обработки текста в UNIX более чем соответствуют этой задаче.
Как минимум, подумайте о фильтрации файла журнала на стороне UNIX, прежде чем копировать его в свой собственный ящик. Администраторы вашей сети будут вечно благодарны:-)
Можете ли вы использовать функцию "запланированных заданий" Windows, чтобы периодически вызывать ваш ftp-клиент?
Или, если пойти по другому пути, может ли ваш Unix-бокс выдвинуть файл в место, к которому вам проще получить доступ, например на общий диск?
Вы можете создать пакетный файл для ftp(передачи файлов) вашего файла журнала на ваш компьютер. Например, представьте, что ваш сервер Unix - 10.10.10.10, поэтому вы создаете файл с именем ftp.txt,
open 10.10.10.10
anonymous
test@somewhere.com
cd path
get file.log
quit
затем в командной строке
c:\test> ftp -s:file.txt
c:\test> notepad file.log
В качестве альтернативы, поскольку у вас есть FileZilla, вы можете просмотреть документацию, чтобы узнать, есть ли какая-либо командная строка, которую вы можете использовать вместо клиента windows ftp.
Похоже, что самый простой и надежный способ получить WGet для Windows и вызвать его с помощью синтаксиса wget ftp://login:password@host/path/file из командного файла.
Автоматизируйте загрузку файла журнала из системы UNIX с помощью пакетной команды ftp.
FTP (протокол передачи файлов) - это утилита передачи файлов, обычно используемая в системах UNIX.
FTP умеет использовать скрипты (списки команд из внешних файлов). В следующем примере демонстрируется скрипт, который открывает соединение с IP-адресом 11.11.11.11, регистрируется на хосте как гость с паролем "guest", загружает файл File1 и затем завершает работу:
open 11.11.11.11
user
guest
guest
put file1
quit