เพิ่มศักยภาพการใช้ Google Drive ด้วย rClone ทำให้เรา เข้าถึงข้อมูลใน Google Drive ได้ไม่ว่าจะใส่ไฟล์หรือดึงไฟล์ จนกระทั่งเอา Google Drive มาแชร์เหมือน NAS ตัวนึงในระบบ LAN เมื่อรวมกับ Gsuite ที่เก็บข้อมูลได้ไม่จำกัด เท่ากับเราได้ NAS พื้นที่ไม่จำกัด และแชร์หากันได้จากหลายๆ ที่บนโลกอินเตอร์เน็ตเลย
หลังติดตั้ง Linux Distro ที่ถนัดแล้ว สามารถใช้คำสั่งด้านล่างนี้ไล่ไปทีละคำสั่งเพื่อติดตั้ง rClone / Samba แล้วทำการ mount เพื่อแชร์ได้เลยครับ โดยในบรรทัดสุดท้าย จะมีค่า –gid ที่อาจจะมีค่าเปลี่ยนแปลงไปในแต่ละคน ซึ่งสามารถหาได้โดยใช้คำสั่ง cat /etc/group | grep usersShare
apt install mc
apt install rclone
apt install samba
mkdir /mnt/gdrive
rclone config
************************
ทำการ config Google Drive ในชื่อ Gdrive (ถ้าแก้ไขเป็นชื่ออื่น ต้องตรวจสอบและเปลี่ยนชื่อในสคริปต์ที่เหลือทั้งหมดให้ตรงกับชื่อที่เปลี่ยน)
************************
rclone ls GDrive:
ls /mnt/gdrive/
mc -ad
/etc/init.d/smbd restart
nano /etc/samba/smb.conf
*****************
นำข้อความ ต่อไปนี้ copy & paste ต่อท้ายข้อความเดิมในไฟล์ smb.conf
[GDrive]
comment = GDrive
browseable = yes
path = /mnt/gdrive
read only = no
guest ok = no
create mask = 0777
directory mask = 0777
writeable = yes
#public = yes
valid users = %U
จากนั้น save file แล้วใช้คำสั่งถัดไปด้านล่าง
***************
/etc/init.d/smbd restart
smbstatus
groupadd usersShare
useradd -G usersShare -M rclone -p rclone1234
smbpasswd -a rclone
*********************
ค่า --gid ที่อาจจะมีค่าเปลี่ยนแปลงไปในแต่ละคน แนะนำใช้คำสั่งดังต่อไปนี้ เพื่อหาค่าแล้วเพื่อนำไปแก้ไขตัวเลขหลัง --gid ที่คำสั่งด้านล่างนี้ cat /etc/group | grep usersShare
*********************
rclone mount GDrive: /mnt/gdrive/ --allow-other --vfs-cache-mode full --vfs-cache-max-size 10G --gid 1001 --umask 0002 --daemon
ถ้าต้องการให้ rClone ทำงานเองอัตโนมัติเมื่อเราเปิดเครื่อง ให้นำสคริปต์นี้ใส่ในส่วนของ service เพื่อเรียกขึ้นมาทำงาน โดยใช้คำสั่ง nano /etc/init.d/rclone-service แล้ว copy&paste script ด้านล่างนี้ในไฟล์ จากนั้นใช้คำสั่ง chmod +x /etc/init.d/rclone-service เพื่อให้ rclone-service สามารถถูกเรียกขึ้นมาทำงานได้ และสุดท้ายปิดด้วยคำสั่ง update-rc.d rclone-service defaults เพื่อกำหนดให้ถูกเรียกทำงานอัตโนมัติเมื่อเปิดเครื่อง
หลังจากดำเนินการคำสั่งข้างบนแล้ว ถ้าเครื่องยังไม่ถูก reboot ตัว rclone-service จะยังไม่ถูกเรียกขึ้นมาทำงาน ดังนั้นในครั้งแรก เราจะใช้คำสั่งต่อไปนี้เพื่อ rclone-service ทำงานโดยไม่ต้อง reboot ด้วยคำสั่ง systemctl daemon-reload
#!/bin/sh
## BEGIN INIT INFO
# Provides: rclone-service
# Required-Start: $network $local_fs $remote_fs
# Required-Stop: $network $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Should-Start: slapd cups
# Should-Stop: slapd cups
# Short-Description: rclone-service daemon (smbd)
# Description: server to provide rClone services to clients
### END INIT INFO
# See if the daemons are there
test -x /usr/bin/rclone || exit 0
. /lib/lsb/init-functions
case $1 in
start)
/usr/bin/rclone mount gDrive:/ /mnt/gdrive/ --allow-other --vfs-cache-mode full --vfs-cache-max-size 10G --gid 1001 --umask 0002 --daemon
log_end_msg 0
;;
stop)
echo "Stoping rClone..."
/etc/init.d/smbd stop
umount /mnt/gdrive/
/etc/init.d/smbd start
#log_end_msg 0
echo "rClone Stop."
exit 1
;;
reload)
log_end_msg 0
;;
restart|force-reload)
$0 stop
sleep 1
$0 start
;;
status)
;;
*)
, echo "Usage: /etc/init.d/rclone-service {start|stop|reload|restart|force-reload|status}"
exit 1
;;
esac
exit 0