Автоматическое перемещение файла журнала с сервера на базе Unix на ПК
Я пытаюсь автоматически загрузить несколько данных с сервера на основе Unix на мой компьютер, т.е. я хочу, чтобы данные передавались на мой компьютер каждые 30 минут. У меня есть код Unix для извлечения данных, но его через замазку, и он хранится только на сервере. Я хотел бы, чтобы данные сохранялись в моей локальной папке на ПК.
tail -n 10000 conveyor2.log | grep -P 'curing result OK' | sed 's/FT\/FT/g' | awk '{print $5 $13}' | uniq | sort -n | uniq >> my_data.txt
2 ответа
Если вы в настоящее время используете putty для подключения к серверу, вы также можете использовать "pscp" или "plink" на стороне Windows для выполнения передачи на ваш ПК.
Сначала вам нужно понять, как это сделать из командной строки.
Например:
pscp -i mykey.ppk user@serverName:logfileName targetName
(Использование "-i mykey.ppk" позволяет обойти запросы пароля. Вам нужно будет создать "mykey.ppk" с помощью puttygen.)
Затем вы могли бы поместить это в файл.BAT или powershell или что-то еще и запустить как "запланированное задание" Windows, или придумать и настроить службу (что выходит за рамки этого вопроса).
Для этого прежде всего вы можете создать точку монтирования вашего ПК на Unix-сервере. это называется самба. Нужен root-доступ как на сервере Unix, так и на компьютере с Windows
mount -t cifs // "ip-адрес оконной системы" / e $ / ftp -o username ="username", пароль ="пароль" / "имя точки монтирования"
после этого вы можете напрямую создать файл журнала на оконном компьютере