Я хочу передать свой сайт по FTP на несколько серверов, эти серверы доступны в отдельных сеансах в WinSCP. Могу ли я продублировать изменения, внесенные в одну, в другие?
2 ответа
WinSCP поддерживает скрипты. Вы можете сделать скрипт, который загружает (или даже лучше синхронизирует) сайт. Сценарий может принимать параметр с именем сохраненного сеанса (сайта) в WinSCP (или, лучше, URL-адрес сеанса).
Сценарий WinSCP (script.txt
) может выглядеть так:
open %1%
synchronize remote C:\path_to_website /home/website
exit
Оберните это в командный файл (sync_site.bat
), например:
winscp.com /script=script.txt /parameter %1
И тогда вы можете назвать это для любого количества сайтов (сохраненных сеансов), таких как:
call sync_site.bat site1
call sync_site.bat site2
call sync_site.bat site3
Некоторые ссылки:
https://winscp.net/eng/docs/guide_automation
https://winscp.net/eng/docs/scripting#syntax
Если вы находитесь на серверах Windows, вы можете просто использовать DropBox для зеркалирования сайтов от сервера к серверу. Возможно, вам придется установить AlwaysUp или найти другой способ запуска Dropbox как службы.
Некоторые FTP-клиенты поддерживают сценарии. Не знаю о WinSCP. С помощью сценариев вы можете написать сценарии VBS для автоматизации процесса FTP и запуска обновлений для нескольких хостов.
Если вы работаете на IIS-серверах Windows, вы также можете использовать платформу WebFarm (бесплатно), чтобы IIS автоматически копировал содержимое с главного узла на все ваши вышеописанные узлы. В Linux вы можете сделать то же самое, запустив скрипт оболочки, который вручную проверяет "главный узел" на наличие изменений и обновляет клиенты, загружая все сайты напрямую. Это может быть сделано через SSH или SFTP, или кучу разных настроек.
В зависимости от вашей настройки это может быть хорошим вопросом для ServerFault.com