У мене є 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-readada, це загальні варіанти (докладніше: 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. Коли він завершиться, я отримую деякий підсумок, і мені запропоновано натиснути будь-яку клавішу, щоб закрити.
-c
параметра від bash man: Якщо параметр -c присутній, то команди зчитуються з рядка. Якщо після рядка є аргументи, вони присвоюються позиційним параметрам, починаючи з $ 0.