การใช้ rsync เพื่อซิงค์ไฟล์ขึ้นเซิร์ฟเวอร์ [Python3]

image from unsplash.com

พอดีวันนี้อัพเดท Python ในเครื่องเป็นเวอร์ชั่น 3 ทำให้สคริปหลายๆตัวที่รันอยู่ไม่สามารถใช้งานได้ รวมถึงไฟล์ rsync.py ที่ปกติใช้สำหรับซิงค์ไฟล์จากในเครื่องขึ้นไปบนเครื่อง server เลยอยากเขียนอธิบายรายละเอียดเก็บไว้สักหน่อย

rsync เป็นโปรโตคอลที่สร้างขึ้นสำหรับการสำรองข้อมูลและซิงโครไนซ์ข้อมูล สามารถใช้ในการสำรองไฟล์ไปยังไดเร็กทอรีอื่นหรือสามารถกำหนดค่าให้ซิงค์ผ่านอินเทอร์เน็ตไปยังโฮสต์อื่นได้ และ rsync สามารถ Backup ข้อมูล Directory หนึ่งไปยังอีก Directory ทำงานได้หลายโหมด และสามารถใช้ร่วมกับ ssh ก็สามารถ Backup ไฟล์ข้าม Server ได้ ซึ่ง rsync มีให้ใช้กับทุก OS นั่นหมายความว่าเรา สามารถ Backup Directory ข้าม Server ข้าม OS ได้

เบื้องต้นถ้าเครื่องไหนยังไม่ได้ติดตั้ง rsync ต้องทำการติดตั้งก่อน

Linux~

apt-get install rsync

Mac OSX~

brew install rsync

ตัวอย่างการรันคำสั่ง rsync

rsync -rloDcv -e ‘ssh’ . username@[ip-address]:/path_on_the_server — exclude=.git — exclude-from=.gitignore — delete
sample run [rsync]

ตัวอย่างโค๊ดสำหรับนำไปรันรวมกับการใช้งาน Git

โดนเราสามารถเลือก Branch ที่ต้องการให้รันได้

rsync.py

GIST: https://gist.github.com/gokusenz/52c1b841abb259da6eff2b3e0ea59c0c

คิดและเขียนคือสิ่งที่ผมชอบ ได้ทดลองทำอะไรใหม่ๆ เพื่อนำมาประยุกต์และต่อยอดในเรื่องต่างๆ พร้อมถ่ายทอดเรื่องราวจากชีวิตจริง จากประสบการณ์ จากแนวคิดของผม :)

--

--