У меня есть MinGW (также известный как «Git Bash») в Windows 7 и командный файл, который запускает rsync для резервного копирования файлов на внешний диск на удаленном компьютере с Linux. Вот командный файл (my_rsync_file.bat
)
REM Changing directory... (assuming we are in G:/My Documents/My Various Things)
cd ../
REM starting rsync...
bash -c "rsync -avzh -P --stats --timeout=60 --exclude Downloads . 'my_remote_linux_computer@128.95.170.200:/media/my_remote_linux_computer/LaCie/My\ Documents'"
Вот немного построчное объяснение:
REM Changing directory... (assuming we are in G:/My Documents/My Various Things)
Это просто выдает сообщение, чтобы напомнить мне, что происходит.
cd ../
Это изменяет каталог на один уровень выше, чем командный файл (на «Мои документы»). Пакетный файл находится на внешнем диске на моем компьютере с Windows. Я хочу синхронизировать все папки «Мои документы» на этом внешнем диске с папкой с тем же именем на внешнем диске на моем удаленном компьютере с Linux.
REM starting rsync...
Просто печатает другое сообщение.
bash -c "rsync -avz -P --stats --timeout=60 --exclude Downloads . my_remote_linux_computer@128.95.155.200:/media/my_remote_linux_computer/LaCie/My\\ Documents"
bash
: запускает MinGW, который имеет встроенную библиотеку rsync
-c
: не уверен, что это делает
rsync
: библиотека для синхронизации файлов, поставляется с MinGW
-avzh
: a-Archive, v-Verbose, z-Compress, h-Human-readable, это общие параметры (подробнее: http://linux.die.net/man/1/rsync)
-P
: показать прогресс для больших файлов, чтобы я знал, заморожен он или нет
--stats
: показать итоговое количество файлов и байтов, переданных в конце
--timeout=60
: убить его через 60 секунд, если он застрянет
--exclude
пропустить файлы / каталоги из синхронизации, в этом случае я исключаю каталог под названием «Загрузки»
.
: указывает на синхронизацию всего содержимого «Мои документы» (ожидаем, что указанную вещь исключить в строке выше)
my_remote_linux_computer
: имя моего удаленного компьютера с Linux (не фактическое имя;)
@128.95.155.200
: IP-адреса моего удаленного компьютера с Linux, с https://www.whatismyip.com/ (не мой фактический IP-адрес :)
/media/my_remote_linux_computer/LaCie/My\\ Documents
: путь к каталогу на моем удаленном компьютере linux, на который я хочу получать файлы. Это внешний диск.
Обратите внимание, что пробел в "Моих документах" экранируется двумя обратными слешами, а полное имя и каталог удаленного места назначения заключены в двойные кавычки.
Когда я запускаю двойной щелчок по файлу bat, у меня запрашивается пароль для моего удаленного компьютера с Linux. Когда он завершается, я получаю некоторые сводные данные и мне предлагается нажать любую клавишу для закрытия.