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

Используйте WinSCP или аналогичный для копирования файлов из Linux в Windows

Я могу просто использовать графический интерфейс WinSCP, чтобы скопировать папку с сервера Linux локально на сервер Windows для резервного копирования, используя опцию «только обновленные файлы / папки» (своего рода rsync).

Я хотел бы использовать утилиту командной строки WinSCP или что-то подобное, что я могу запланировать через планировщик задач Windows, чтобы каждую ночь захватывать папку (плюс подпапки / файлы) с сервера Linux и сохранять ее на сервере Windows.

Я просмотрел документацию WinSCP, но мне страшно пробовать какие-либо команды, не зная, какие именно запускать и т. Д., Потому что последнее, чего я хочу, - это случайно записать файлы в неправильном направлении.

Любой, кто может сообщить мне команды WinSCP (или аналогичную утилиту), которые я могу запланировать, чтобы сделать следующее:

Скопируйте папку / подпапку / файлы (только новые или обновленные) из «/ shared / svnrepos» на сервере Linux в «\ WINSERVER \ BACKUP»

Я думаю, что документация объясняет это довольно ясно: http://winscp.net/eng/docs/scriptcommand_synchronize

Вы хотите использовать команду synchronize вместо команды get.

Когда первый параметр является локальным, изменения из удаленного каталога применяются к локальному каталогу. Когда первый параметр - remote, изменения из локального каталога применяются к удаленному каталогу.

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

Я бы создал файл сценария, а затем добавил бы запланированную задачу для вызова WinScp с помощью:

WinScp.exe /script="d:\SvnBackupScript.txt "

Затем поместите в файл сценария что-то вроде следующего:

синхронизировать локальный d: \ svnBackup / shared / svnrepos

Убедитесь, что у вас есть конфигурация и настройка подключения в соответствии с документацией.

Вы всегда можете запустить его в режиме cosole и протестировать свои команды:

WinScp.exe / консоль

Затем просто введите нужные команды в свой сценарий

Может быть rclone (https://rclone.org/commands/rclone_sync/) стоит попробовать. Написано на Go, имеет несколько двоичных файлов (включая Windows) и позволяет синхронизировать каталоги из Linux в Windows с использованием нескольких протоколов, включая SSH.

Вы должны сначала настроить его (то есть определить псевдоним удаленного хоста, протокол и учетные данные), а затем выполнить из командной строки:

rclone sync remoteserveralias:/the/dir/path localpath

ВНИМАНИЕ: Поскольку sync удаляет файлы в месте назначения (пытается иметь две идентичные копии - удаленную и локальную), более безопасным подходом является использование copy команда, которая дифференциально копирует файлы из источника в место назначения без какого-либо удаления.

Видеть https://rclone.org/commands/rclone_copy/