Sunday, September 5, 2021

Basic rsync for backup source to destination on Ubuntu 20.04 (ทบทวน)

  • ว่าด้วยเรื่องการทำ mirror web server เรา เอาไว้รองรับยามฉุกเฉิน
  • ครั้งที่แล้วใช้ scp เพราะคิดว่า rsync ต้องคอนฟิกยุ่งยาก แต่ไม่ใช่อย่างที่คิดเลย
  • เพราะ source เราเป็น Ubuntu และ destination เราเป็น Ubuntu ขั้นตอนจึงสั้นนิดเดียว
  • ซึ่ง Ubuntu 18 .04 และ 20.04 มันจะลง rsync ให้เรามาตั้งแต่ติดตั้งแล้ว เราแค่ไปเรียกใช้งานเท่านั้น
  • $ rsync [option,...] source destinaton

How to

  • ต้องการ Sync data จาก Server (source) มายัง Client (desitnation)
  • ตัวอย่างนี้ ให้คัดลอกไฟล์ภายใน folder ชื่อ path_server ไปวางไว้ภายใน path_client โดยไม่ได้เอา folder path_server ไปด้วยนะ

$ rsync -avzh --delete user@ip_server:/path_server/ /path_client

  • ส่วนตัวอย่างนี้ ให้คัดลอก folder ชื่อ path_server และ ไฟล์ภายในทั้งหมด ไปวางไว้ภายใน path_client

$ rsync -avzh --delete user@ip_server:/path_server /path_client

  • ทั้ง 2 ตัวอย่างคล้ายกันแค่มี / และ ไม่มี / หลัง path_server
  • ถ้าใช้คำสั่งด้านบนโดยยังไม่เคยใช้ public key authen ระบบจะถาม password ทุกครั้ง
  • แนะนำการ authen ใช้แบบ public key authen ใน profile เรา 1 ครั้ง
  • ครั้งถัดไป มันเอาค่า public key authen เป็น default by pass ให้เลย ไม่ต้องใส่ option -i ให้ยาว
  • เช่น ถ้าเราเคยใช้ คำสั่ง

$ ssh -i /path/privkey user@ip_server

  • ครั้งถัดไปให้เราใช้แค่นี้ไม่ต้องใช้ -i มันก็ เราค่า authen  โดย private key มาใช้โดยอัตโนมัติ จนเรางง เลยว่า ทำไมมันไม่ให้ใส่ password หว่า ทั้งที่ไม่ได้ใช้ -i

$ ssh user@ip_server 

  • และ รวมถึง util อื่นๆ ที่ใช้ผ่านบน client เครื่องนี้ด้วย เช่น scp , rsync เป็นต้น
  • ลืมในกรณีกลับกัน ต้องการ sync เอาไฟล์จาก client ไป update บน server ให้ทำประมาณนี้ คือ  เอาไฟล์ภายในและตัว folder path_client ไปวางไว้ภายใต้ path_server

$ rsync -avzh --delete /path_client  user@ip_server:/path_server

Note

  • ถ้าเราไม่ใส่ --delete มันจะไม่ลบไฟล์ ที่เกินในฝั่ง destination

Related

  • http://juuier.blogspot.com/2021/09/scp-copy-tool-ubuntu-2004.html
  • https://juuier.blogspot.com/2014/03/mirror-website-rsync.html
  • https://juuier.blogspot.com/2021/06/set-remote-ssh-by-public-key.html

Ref

  • https://linuxhint.com/rsync_copy_files_ubuntu/ 
  • man rync

No comments:

Post a Comment