Score:2

การใช้สัญลักษณ์แทนใน "แหล่งที่มา" สำหรับคำสั่ง `rsync`

ธง cn

ฉันกำลังพยายามสำรองไฟล์บางไฟล์ในไดรฟ์อื่นโดยใช้ รีซิงค์.

ในกรณีทดสอบ ฉันกำลังลองใช้คำสั่งต่อไปนี้:

rsync -Rav --delete --stats /home/my_user/bin* "$dest"

คำสั่งนี้จะคัดลอกไฟล์และไดเร็กทอรี (ที่มีเนื้อหา) อยู่ใน my $บ้าน ไดเรกทอรีและมีชื่อเช่น ~/ถังขยะ, ~/บินบ, ~/bin1, ~/bin2ฯลฯ ถึงที่หมาย.

อย่างไรก็ตาม เมื่อฉันลบไฟล์หรือไดเร็กทอรีที่เรียกว่า ~/bin1 หรือ ~/bin2 ตัวอย่างเช่น สิ่งเหล่านี้จะไม่ถูกลบในปลายทางด้วย สิ่งเดียวที่ใช้ได้คือเมื่อมีไฟล์ในไดเร็กทอรีพูดว่า ~/bin2/file1 และไฟล์นี้ถูกลบ จากนั้นไฟล์นี้จะถูกลบในปลายทางด้วย (แต่ไม่ใช่ในกรณีที่ไดเร็กทอรี ~/bin2/ ถูกลบออกไปหมด)

เห็นได้ชัดว่าปัญหานี้เกิดจากการขยายตัวของเชลล์ /home/my_user/bin* ไปยังชื่อไฟล์และไดเร็กทอรีทั้งหมดที่ขึ้นต้นด้วย ถัง ในของฉัน $บ้าน ไดเร็กทอรี ณ เวลานั้น รีซิงค์ คำสั่งถูกดำเนินการ ดังนั้นฉันจึงพยายามอ้างแหล่งที่มาเช่น "/โฮม/my_user/bin*"แต่ในกรณีนี้ ฉันได้รับข้อผิดพลาด:

rsync: [ผู้ส่ง] link_stat "/home/my_user/bin*" ล้มเหลว: ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว (2)

จำเป็นต้องใช้ตัวเลือกใดบ้าง ดังนั้นฉันสามารถใช้สัญลักษณ์แทนสำหรับต้นทางและฉันจะมีแบบจำลองที่ถูกต้องของไฟล์ต้นทางและโครงสร้างไดเร็กทอรีในปลายทางด้วย

บันทึก: rsync เวอร์ชัน 3.2.3 โปรโตคอลเวอร์ชัน 31

Artur Meinild avatar
vn flag
คุณลอง `--delete-after` แทนที่จะเป็นแค่ `--delete` หรือไม่
FedKad avatar
cn flag
@ArturMeinild ผลลัพธ์สุดท้ายไม่เปลี่ยนแปลง
pLumo avatar
in flag
ฉันเดาว่าคุณควรใช้โครงสร้างอื่นที่คุณมีทุกอย่างในพาเรนต์เดียวเท่านั้น `~/bin/1` `~/bin/2` ...
Artur Meinild avatar
vn flag
คุณต้องพิจารณาคำแนะนำของ pLumo เว้นแต่คุณต้องการหาวิธีรับรายชื่อไดเร็กทอรีบนโฮสต์ปลายทางเพื่อรวมเป็นแหล่งข้อมูลเพิ่มเติมในคำสั่งของคุณ
Score:5
ธง in

คุณสามารถใช้ได้ --รวม / --ไม่รวม ชอบ:

rsync -Rav -- ลบ \
  --include="/home/my_user/bin*" \
  --exclude="/home/my_user/*" \
/home/my_user/ "$dest"

แต่ฉันคิดว่ามันง่ายกว่าที่จะมีโครงสร้างอื่นที่คุณสามารถซิงค์ไดเร็กทอรีพาเรนต์เดียวเท่านั้น

FedKad avatar
cn flag
ขอบคุณ. ในกรณีของฉัน ตัวเลือก `--include` ควรเป็นดังนี้: `--include="/home/my_user/bin*"` (โดยไม่มีเครื่องหมายทับ)
pLumo avatar
in flag
ใช่ เพราะคุณต้องการไฟล์ที่ขึ้นต้นด้วย `bin` คงที่ด้วย

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา