Назад | Перейти на главную страницу

Получить файл по sftp в windows

Я хочу подключиться к Linux-машине с WinSCP (командная строка) из Windows. и я хочу получить логи.

В Linux-машине есть логи

/var/log/application/
090701.log
090702.log
090703.log
090704.log
090705.log

winscp sftp: // account: pass @ machine: 22 Как эффективно получать журналы?

Если вы используете сценарии, я думаю, вам пора прочитать документацию по WinSCP. В прошлый раз, когда я смотрел, там были примеры, которые показывают, как именно делать то, что вы хотите.

Конечно, если вы используете графический интерфейс, просто перетащите их в свои папки Windows в интерфейсе WinSCP.

У меня есть аналогичное решение с использованием сценария winscp, мое выглядит так:

Скрипт winscp:

option batch continue
option confirm off
open logs:*******@10.x.x.x
synchronize remote "c:\daily_logs\*" ./81/
synchronize remote "c:\daily_logs\" ./81/
close
exit

Я использую iCronService, который работает во всех версиях окон, в которых я его пробовал, включая версии на базе x64, и вот как выглядит мой crontab:

crontab:

00 22 * * * cmd /c "winscp /console /script=c:\bin\scplogs /log=LOG_OF_SCP.LOG"

Можно также сначала сжать журналы, чтобы сэкономить время, пропускную способность и пространство. Конечно, это не самое элегантное решение, потому что пароль жестко закодирован в scp-скрипте, но при желании его можно заменить ключами.

Вы также можете использовать psftp.exe чтобы выполнить задание с помощью командной строки, подобной этой:

psftp.exe username@server -be -pw user_password -b c:\script.txt"  

Script.txt может содержать, например:

lcd c:\my_backup
get /var/log/application/*