ฉันต้องการใช้ rsync กับ ...
- ลบไฟล์ในด้านการรับที่ถูกลบไปยังด้านการส่ง
- อย่าลบไฟล์อื่น ๆ ที่อยู่ในไดเรกทอรี rsynced ทางด้านการรับ
ตัวอย่างเช่นสมมติว่าฉันมีไดเรกทอรีlocal-src
:
ก่อน: local-src
ภายในมี ...
a.txt
b.txt
c.txt
ไดเรกทอรีระยะไกลของฉันที่ฉันต้องการซิงค์กับเนื้อหาของการที่เรียกว่าlocal-src
remote-src
ก่อน: remote-src
จากระยะไกลประกอบด้วย ...
a.txt
b.txt
c.txt
d.txt
README.md
สมมติว่าฉันลบบางไฟล์ในlocal-src
:
หลังจากลบ local-src
ในพื้นที่:ภายในมี ...
c.txt
ฉันจะใช้ rsync อย่างไรเพื่อให้แน่ใจว่าไฟล์ที่ถูกลบที่ต้นทางนั้นจะถูกลบที่ปลายทางเช่นกัน แต่ไม่ต้องลบไฟล์อื่น ๆ ที่ปลายทาง ตัวอย่างเช่นฉันต้องการมีสิ่งต่อไปนี้ที่ปลายทาง:
หลังจากลบ LOCAL: remote-src
จากระยะไกลมี ...
c.txt
d.txt
README.md
นั่นคือa.txt
และb.txt
จะถูกลบจากระยะไกลเช่นกัน แต่d.txt
และREADME.txt
ถูกทิ้งให้อยู่คนเดียว
มีวิธีใดบ้างที่จะทำให้สำเร็จด้วย rsync?
แก้ไข:คำตัดสินดูเหมือนว่าจะเป็นไปไม่ได้กับ rsync ฉันถูกถามว่าทำไมฉันจึงต้องการสิ่งนี้เพื่อแสดงให้เห็นถึงกรณีใช้ของฉัน:
สมมติว่าฉันมีเว็บเซิร์ฟเวอร์ บนเว็บเซิร์ฟเวอร์นั้นฉันมีไดเรกทอรีมากมายสมมติว่าฉันมีไดเรกทอรีA
และpublic_html
ไดเรกทอรีที่ให้บริการเว็บไซต์ของฉัน A
สมมติว่าผมมีกระบวนการอัตโนมัติบางอย่างที่ผลิตแฟ้มในไดเรกทอรี ฉันต้องการที่จะ rsync (หรือซิงค์ใช้บางส่วนเครื่องมืออื่น ๆ ) ไฟล์ที่สร้างหรืออัปเดตในA
ไปยังpublic_html
ไดเรกทอรีโดยไม่ลบไฟล์โดยพลการอื่น ๆ public_html
ที่อาจจะอยู่ใน แน่นอนว่าฉันไม่ต้องการให้ rsync ลบเว็บไซต์ของฉันโดยไม่ได้ตั้งใจ
หาก rsync ไม่ใช่เครื่องมือสำหรับงานนี้มีคนอื่นรู้หรือไม่ว่าฉันสามารถทำได้
rsync
เพราะไม่มีวิธีที่จะรู้ว่าไฟล์ใดที่อยู่ในโฟลเดอร์ระยะไกลแล้ว คุณอาจต้องค้นหาเครื่องมืออื่น