สำเนาพิเศษ (อาจเป็น Robocopy)


0

ฉันมีสำเนาพิเศษ (อาจจะเป็น Robocopy)

ฉันมี:

  • ไดเรกทอรีต้นทาง (พร้อมไดเรกทอรีย่อย)
  • ไดเรกทอรีเป้าหมาย (พร้อมไดเรกทอรีย่อย)

โครงสร้างไดเรกทอรีทั้งสองเกือบเหมือนกัน แต่ในไดเรกทอรีเป้าหมายมีไฟล์ใหม่หรือไฟล์เพิ่มเติม ฉันต้องคัดลอกไฟล์จากไดเรกทอรีต้นทางไปยังเป้าหมายที่ไม่ได้ใหม่กว่า (หรือเพิ่ม) ในไดเรกทอรีเป้าหมาย

ตัวอย่าง:

ไฟล์ example.doc มีอยู่ในไดเรกทอรีต้นทางและเป้าหมาย แต่ไฟล์ในไดเรกทอรีเป้าหมายมีการประทับเวลาที่ใหม่กว่า (มีคนทำงานกับไฟล์นี้) และฉันไม่ต้องการเขียนทับไฟล์นี้

ไฟล์ example2.doc มีอยู่ในไดเรกทอรีต้นทางและเป้าหมาย ไฟล์ทั้งสองมีเวลาประทับเดียวกัน ในกรณีนี้ฉันต้องการเขียนทับไฟล์ในไดเรกทอรี tartet ด้วยไฟล์จากไดเรกทอรีต้นทาง

บางที Robocopy เป็นเครื่องมือสำหรับกรณีนี้ ... ฉันอ่านพารามิเตอร์ทั้งหมด (และมีอยู่มากมาย :) แต่ฉันไม่พบวิธีแก้ปัญหา

BTW: นี่เป็นโพสต์แรกของฉันใน stackoverflow :-)

ขอบคุณมาก.

Gernot


เคล็ดลับสำหรับ googling: คุณกำลังพยายามซิงค์ทางเดียว
gronostaj

คำตอบ:


0

คุณสามารถใช้rsyncคำสั่งกับสวิตช์สำรอง-bพร้อมกับข้ามไฟล์ที่ใหม่กว่าบนสวิตช์ตัวรับ-uเช่นเดียวกับลำดับต่อไปนี้ที่ไฟล์แรกrsyncได้รับส่วนที่สองปฏิเสธที่จะเขียนทับไฟล์ใหม่บนตัวรับและrsyncสำเนาที่สามไฟล์ใหม่ในผู้ส่งไปยังผู้รับสำรองไฟล์ที่ได้รับการแก้ไขในการรับเป็นXV ~ก่อนที่จะเขียนทับกับผู้ส่งXV ตำแหน่งของไฟล์ที่ย้ายไปสามารถควบคุมได้และใส่ตำแหน่งอื่นด้วยตัวเลือก--backup-dir = DIR

แน่นอนคุณสามารถทำการซิงค์ทั้งหมดนี้บนระบบไฟล์เดียวกันได้อย่างง่ายดาย

(เฮ้! นั่นคือสิ่งที่ Carbon Copy Cloner ทำส่วนใหญ่เป็นเวทมนตร์และพวกเขาคิดค่าบริการ $ 40 สำหรับบริการ ... อนิจจาฉันเชือนแช ... )

whmcclos@Williams-MacBook-Pro:~$ rsync -auvb ~/bin whmcclos@localhost:/tmp
building file list ... done
bin/
bin/days
bin/hide
bin/jedit
bin/mlf
bin/most_recent_file -> most_recent_file.pl
bin/most_recent_file.pl
bin/mplayer
bin/mvim
bin/qvim
bin/sys_config
bin/sys_config.log
bin/tree
bin/try
bin/unhide
bin/xv
bin/zed -> zed.pl
bin/zed.pl

sent 18887050 bytes  received 390 bytes  37774880.00 bytes/sec
total size is 18883599  speedup is 1.00
whmcclos@Williams-MacBook-Pro:~$ touch /tmp/bin/xv
whmcclos@Williams-MacBook-Pro:~$ rsync -auvb ~/bin whmcclos@localhost:/tmp
building file list ... done

sent 422 bytes  received 20 bytes  294.67 bytes/sec
total size is 18883599  speedup is 42723.07
whmcclos@Williams-MacBook-Pro:~$ touch /tmp/bin/xv
whmcclos@Williams-MacBook-Pro:~$ touch ~/bin/xv
whmcclos@Williams-MacBook-Pro:~$ rsync -auvb ~/bin whmcclos@localhost:/tmp
building file list ... done
bin/xv

sent 7392 bytes  received 10434 bytes  35652.00 bytes/sec
total size is 18883599  speedup is 1059.33
whmcclos@Williams-MacBook-Pro:~$ ls /tmp/bin/xv*
/tmp/bin/xv  /tmp/bin/xv~

0

ไฟล์ example2.doc มีอยู่ในไดเรกทอรีต้นทางและเป้าหมาย ไฟล์ทั้งสองมีเวลาประทับเดียวกัน ในกรณีนี้ฉันต้องการเขียนทับไฟล์ในไดเรกทอรี tartet ด้วยไฟล์จากไดเรกทอรีต้นทาง

สวิตช์บรรทัดคำสั่ง relavent สำหรับสิ่งนี้คือ:

/IS      Include Same files.

หมายเหตุ:การใช้สวิตช์ / IS เพียงอย่างเดียวโดยไม่มีสวิตช์อื่นบังคับให้รีเฟรชรวมของแผนผังปลายทาง

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกสำหรับ Robocopy ดูโพสต์อื่น ๆ ที่ฉันเขียนเกี่ยวกับ Robocopy: https://superuser.com/a/566054/144147ซึ่งมีลิงก์ภายนอกไปยังเอกสารเพิ่มเติม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.