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

Как я могу скопировать файл с одного сервера Windows на другой в скрипте?

У меня два сервера Windows 2003, и я хочу написать сценарий резервного копирования на одном, который будет копировать файл на другой. Какой самый идиоматичный способ сделать это в Windows? По сути, я ищу Windows-эквивалент

$ scp file.tar.gz user@host:/wherever

В ответ на вопросы: Сейчас я думаю только об одном файле - резервной копии базы данных. Потенциально у меня может оказаться несколько файлов, но меня не очень интересуют системы, подобные rsync, которые отслеживают, какие файлы были изменены, и соответственно создают резервные копии.

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

copy / xcopy / robocopy, и если у вас есть права администратора, используйте общие ресурсы администратора, например

\\server\c$

Лично я бы сделал это, подключив диск с одного сервера к другому, а затем скопировав файл на подключенный диск. Что-то вроде:

net use F: <\\path\to\share> /user:Username password
xcopy <file> F:
net use F: /delete

Вместо этого вы можете использовать robocopy, если вам нужно сделать более серьезное зеркалирование. Я обычно заканчиваю, используя блат или что-то подобное, чтобы отправить мне электронное письмо со списком каталога целевой резервной копии, просто чтобы убедиться, что все прошло.

Большие файлы нельзя скопировать с помощью RDP, но вы можете копировать файлы любого размера, выполнив команду ниже через RUN: нажмите Ctrl + r, чтобы открыть диалоговое окно, затем выполните команду ниже:

\\<server name or address>\c$

например: \\192.168.10.20\c$

Чтобы получить больше информации: Как получить доступ к доле C $ в сети?