none
Бекап RRS feed

  • Вопрос

  • Написал програму на WForms, она скачивает базу mssql server через ftp з сервера, на комп. Но бывает ее невозможно скачать когда ее используют. Надо автоматом остановить mssql server, скачать ее а потом запустить его.

    Запустить скрипт на удалённом сервере невозможно, пробовал через psexec , но хостинг-провайдер блокирует порты 445(tcp,udp), что посоветуете?

    8 марта 2013 г. 7:52

Ответы

Все ответы

  • 7 способов выполнить команду на удалённом компьютере и попробовать:

    1) WinRM (WS-Management)

    2) Windows PowerShell 2.0 Remoting

    3)Проксирование (создать задание в Task Scheduler,которое будет проверять наличие файла в папке ftp,пусть раз в минуту и если есть останавливать службу или запускть)

    9 марта 2013 г. 8:22
    Отвечающий
  • а можете примером написать пример из проксирования?
    28 марта 2013 г. 16:32
  • а можете примером написать пример из проксирования?

    В чем сложность открыть ссылку,которую я привел выше,найти пункт проксирование и попробовать прочитать пару абзацев?
    28 марта 2013 г. 16:45
    Отвечающий
  • та я читал, вы напишите Action.cmd
    30 марта 2013 г. 17:39
  • та я читал, вы напишите Action.cmd

    action.cmd start

    action.cmd stop

    action.cmd
    echo %1 > %1.txt
    ftp -s:script.text -i ftp.myserver.ru
    del %1.txt
    
    script.text
    MyLogin
    MyPass
    cd FolderName
    mput *.txt 
    quit


    30 марта 2013 г. 18:43
    Отвечающий
  • создал папку c:\scripts\ а в ней файлы Server.cmd и Action.cmd и script.text

    server.cmd

    set trigger=C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\trigger.txt     
    set action=c:\scripts\action.cmd      
    set log=c:\scripts\log.txt      
    :start      
    if exist %trigger% start %action% & echo %time% %date%>>%log% & del %trigger%
    sleep.exe 5      
    goto start  

    action.cmd

    echo %trigger > %trigger.txt
    ftp
    -s:script.text -i ftp.myserver.ru

    net stop mssql$sqlexpress

    script.text
    MyLogin
    MyPass
    cd
    C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA
    mput
    *.txt
    quit

    и после етого запустить schtasks /create /ru domain\administrator /rp /sc onstart /tn ProxyScript /tr c:\scripts\server.cmd

         тогда при добавлении файла trigger.txt в папку C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA

    будет срабатывать action.cmd

    и останавливать mssqlserver, а как мне тогда его запустить?

    31 марта 2013 г. 17:12
  • run.cmd
    echo %1 > trigger.txt
    ftp -s:script.text -i ftp.myserver.ru
    del trigger.txt
    
    script.text
    MyLogin
    MyPass
    cd FolderName
    put trigger.txt 
    quit
    
    action.cmd
    net %1 mssql$sqlexpress
    
    server.cmd
    set trigger="C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\trigger.txt"      
    set action=c:\scripts\action.cmd       
    set log=c:\scripts\log.txt       
    :start       
    if exist %trigger% (
    	for /f %%i in ('type %trigger%') do (start %action% %%i & echo %time% %date%>>%log% & del %trigger% )
    )
    sleep.exe 5       
    goto start 
    1. Запускаем run.cmd на клиенте с параметром start или stop
    2. Создается файл в папке с фтп
    3. Читаем файл trigger.txt и передаем действие,как параметр
    4. Выполняем полученное действие из файла



    • Изменено KazunEditor 31 марта 2013 г. 17:55
    31 марта 2013 г. 17:48
    Отвечающий
  • 230 User logged in.
    ftp> cd \
    250 CWD command successful.
    ftp> put trigger.txt
    501 Server cannot accept argument.
    150 Opening ASCII mode data connection.

    и грузится...

    31 марта 2013 г. 18:35
  • Попробовать добавить перед put команду quote pasv

    31 марта 2013 г. 19:20
    Отвечающий
  • C:\Users\Слава>ftp -s:script.text -i 188.121.60.62
    Связь с 188.121.60.62.
    220 Microsoft FTP Service
    Пользователь (188.121.60.62:(none)):
    331 Password required for karat.

    230 User logged in.
    ftp> cd \
    250 CWD command successful.
    ftp> quote pasv
    227 Entering Passive Mode (188,121,60,62,254,117).
    ftp> put trigger.txt
    501 Server cannot accept argument.
    150 Opening ASCII mode data connection.

    и снова грузится..

    1 апреля 2013 г. 8:53
    1. Попробовать сменить клиент для начала(FileZilla,winscp)
    2. Отключить фаерволл на клиенте
    1 апреля 2013 г. 9:54
    Отвечающий
  • мне нужно програмно ето делать(

    фаервол отключал

    1 апреля 2013 г. 11:49
  • мне нужно програмно ето делать(

    фаервол отключал

    Вариант для WinSCP:

    winscp.com /command "option batch abort" "option confirm off" "open ftp://user:password@example.com" "put examplefile.txt ./" "exit"

    или в Pasv режиме:

    winscp.com /command "option batch abort" "option confirm off" "open ftp://user:password@example.com -passive=on" "put examplefile.txt ./" "exit"

    1 апреля 2013 г. 12:24
    Отвечающий