Войти

Показать полную графическую версию : [решено] Заливать с винды файл на линукс.


glukin
12-03-2017, 09:30
Как/чем лучше сделать, подскажите, плз?
Необходимо по расписанию из шедулера винды запускать батник/скрипт, из которого стопить некий сервис на линуксовом сервере, заливать туда файл и запускать сервис обратно.
Сервер доступен по SSH.
Или как-то по-другому, может, сделать? С линукса забирать файл из виндовой шары по расписанию из cron?

Iska
12-03-2017, 09:44
С линукса wget'ом забирать файл из виндовой шары по расписанию из cron? »
Почему wget'ом?

glukin
12-03-2017, 09:58
Iska, Ну да, ерунду написал. wget же не умеет самбу. Ну не из шары тогда, а с http.
Но этот вариант мне все равно не нравится, так как придется синхронизировать выполнение в виндовом шедулере создание файла "тем самым скриптом" )) и только после этого закачивать его с линукса.
А время формирования файла может быть разным.

Iska
12-03-2017, 10:36
создание файла »
Этого в ТЗ не было :).

Тогда, да — на Windows.

glukin
12-03-2017, 10:55
Как/чем лучше сделать, подскажите, плз? »

Kazun
12-03-2017, 17:42
http://www.powershellmagazine.com/2014/07/03/posh-ssh-open-source-ssh-powershell-module/ - Posh-SSH: Open Source SSH PowerShell Module

#Сессия к серверу
New-SSHSession -AcceptKey $true -ComputerName "192.168.1.191" -Credential (Get-Credential carlos)

#Остaновить сервис, зависит от дистрибутива
Invoke-SSHCommand -Index 0 -Command "systemctl stop application.service"

#Скопировать файлы
Set-SCPFile -LocalFile .\Downloads\VMware-PowerCLI-5.5.0-1671586.exe -RemoteFile "/tmp/powercliinstaller.exe" -ComputerName 192.168.10.3 -Credential (Get-Credential root)

#Запустить сервис, зависит от дистрибутива
Invoke-SSHCommand -Index 0 -Command "systemctl start application.service"

glukin
12-03-2017, 17:56
Kazun, , Я так понимаю, это PowerShell. Куда тут писать логин пароль к серверу? И, да, клиент - Win2003.

Kazun
12-03-2017, 18:11
Для модуля требуется PowerShell 3.0, на Win2003 - последняя доступная версия PowerShell 2.0.

Для W2003 использовать plink&pscp - http://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

1) Plink для запуска команд
https://gallery.technet.microsoft.com/scriptcenter/Sample-PowerShell-module-8d961a1c

2) Pscp для загрузки файлов
https://seawin.org/2016/06/05/using-scp-well-pscp-with-powershell/

Iska
12-03-2017, 18:15
И, да, клиент - Win2003. »
Тогда увы и ах:
Posh-SSH is a PowerShell 3.0 or newer…
Windows PowerShell 3.0 runs on the following versions of Windows.

Windows 8, installed by default
Windows Server 2012, installed by default
Windows® 7 with Service Pack 1, install Windows Management Framework 3.0 to run Windows PowerShell 3.0
Windows Server® 2008 R2 with Service Pack 1, install Windows Management Framework 3.0 to run Windows PowerShell 3.0
Windows Server 2008 with Service Pack 2, install Windows Management Framework 3.0 to run Windows PowerShell 3.0

glukin
12-03-2017, 18:22
Kazun, Спасибо, но как-то это все костыли какие-то... Хотелось бы штатными средствами, через vbs/wmi/wsh или хотя бы в батнике через telnet.

Kazun
12-03-2017, 18:32
Создайте тогда задачу для запуска скрипта на linux через cron - http://anton-lebedev.blogspot.ru/2011/03/smbcifs.html для копирования файлов с windows и не надо костылей

glukin
12-03-2017, 18:41
Kazun, Не вариант, неудобно, почему - написано выше. Да и не написано там ничего такого, чем бы можно было сделать стоп-старт сервиса из винды к линуксу. Виндовую шару к линуксу монтировать я умею.

glukin
23-03-2017, 11:33
Решено через plink и pscp.




© OSzone.net 2001-2012