- Symlink หรือ Symbolic Link คือ ตัว Shortcut ที่เชื่อมโยงกับไฟล์หรือโฟลเดอร์ที่อยู่ที่อื่น เราจึงสามารถสร้าง Symbolic Link ไปยังไฟล์หรือ directory ได้ ซึ่ง Symbolic Link จะทำหน้าที่เป็นโฟล์เดอร์เสมือนที่สามารถเชื่อมโยงไฟล์หรือโฟลเดอร์ จึงทำให้เวลาที่ทำการเรียกใช้หรือแก้ไขข้อมูลแล้ว ไฟล์ที่ถูกชี้ไปที่โนดเดียวกัน จะมีข้อมูลที่เหมือนกันหมด
ต้องรู้จักคำสั่ง ln กันก่อนนะครับผม #ln คือคำสั่งที่ใช้ในการสร้าง Symbolic Link หรือ Shortcut เพื่อเชื่อมต่อไฟล์หรือโฟลเดอร์ต้นฉบับที่อยู่ใน Server
ตัวอย่างเช่นคำสั่ง
#ln -sf /mnt/efs/mysql /var/lib/mysql
จะมีโครงสร้างตามรูปภาพด้านล่างนี้ - การสร้าง Symbolic Link
- สร้างโฟลเดอร์ด้วยคำสั่งนี้
#mkdir -p /mnt/efs/mysql
สร้าง Symbolic link ด้วยคำสั่งนี้
#ln -sf /mnt/efs/mysql /var/lib/mysql
Note: ถ้าจะยกเลิกการทําก็ใช้คําสั่ง unlink เช่น unlink /mnt/efs/mysql /var/lib/mysql - การตรวจสอบ Symbolic link
- เราสามารถตรวจสอบไฟล์โดยตรงได้โดยใช้คำสั่งนี้
#ll /mnt/efs/
ในกรณีที่ไม่มีไฟล์หรือไฟล์ถูกลบ จะแสดงข้อมูลเป็นtotal 0
ตามรูปภาพ
เราสามารถตรวจสอบไฟล์โดยรวมในโฟลเดอร์ได้โดยใช้คำสั่งนี้
#ll /var/lib/
ในกรณีที่ไม่มีไฟล์หรือไฟล์ถูกลบ ชื่อ Symbolic Link จะเป็นตัวหนังสือสีแดงตามรูปภาพ
ตัวอย่างทำ Symlink หรือ Symbolic link เพื่อเปลี่ยน Path ในการจัดเก็บ File Website ตัวอย่าง Control Panel (Plesk)
ขั้นตอนการ Symbolic link หลังสร้าง folder /webdata และ Map กับ disk เสร็จเรียบร้อยแล้ว เพื่อนํามาใช้งานกับเว็บไซต์และเพื่อใช้งานพื้นที่ที่ลูกค้าได้สั่งซื้อเข้ามา - ใช้คำสั่ง
#service nginx stop
เป็นคําสั่ง stop nginx เพื่อหยดุการทํางาน - ใช้คำสั่ง
#service httpd stop
เป็นคําสั่ง stop apache เพื่อหยดุการทํางาน - ใช้คำสั่ง
#cp -r -a /var/www/vhosts /webdata
เป็นคําสั่ง copy ข้อมลูทงั้หมดใน vhosts ไปที่ /webdat เพื่อเก็บไว้ใน disk ลกูค้าใหม่ - ใช้คำสั่ง
#mv /var/www/vhosts /var/www/vhosts.bak
เป็นคําสั่งเปลี่ยนชื่อ vhosts เป็น vhosts.bak - ใช้คำสั่ง
#ln -s /webdata/vhosts /var/www/vhosts
เป็นคําสั่ง Symbolic link เพื่อเชื่อม 2 folder นี้เป็น folder เดียวกัน Note: ถ้าจะยกเลิกการทําก็ใช้คําสั่ง unlink /webdata/vhosts /var/www/vhosts - ใช้คำสั่ง
#service nginx start
เป็นคําสั่ง start nginx เพื่อให้ Service ทํางาน - ใช้คำสั่ง
#service httpd start
เป็นคําสั่ง start Apache เพื่อให้ Service ทํางาน - จากนนั้ทําการ reboot ด้วยคําสั่ง
#reboot
ตัวอย่าง Control Panel (WHM cPanel)
ขั้นตอนการ Symbolic link หลังสร้าง folder /webdata และ Map กับ disk เสร็จเรียบร้อยแล้ว เพื่อนํามาใช้งานกับเว็บไซต์และเพื่อใช้งานพื้นที่ที่ลูกค้าได้สั่งซื้อเข้ามา - ใช้คำสั่ง
#service cpanel stop
เป็นคําสั่ง stop service cpanel เพื่อหยดุการทํางาน - ใช้คำสั่ง
#service mysql stop
เป็นคําสั่ง stop service mysql เพื่อหยดุการทํางาน - ใช้คำสั่ง
#cp -r -a /home/admin/public_html /webdata
เป็นคําสั่ง copy ข้อมลูทงั้หมดใน public_html ไปที่ /webdat เพื่อเก็บไว้ใน disk ลกูค้าใหม่ - ใช้คำสั่ง
#mv /home/admin/public_html /home/admin/public_html.bak
เป็นคําสั่งเปลี่ยนชื่อ public_html เป็น public_html.bak - ใช้คำสั่ง
#ln -s /webdata/public_html /home/admin/public_html
เป็นคําสั่ง Symbolic link เพื่อเชื่อม 2 folder นี้เป็น folder เดียวกัน
Note: ถ้าจะยกเลิกการทําก็ใช้คําสั่ง unlink /webdata/public_html /home/admin/public_html - ใช้คำสั่ง
#service cpanel start เป็นคําสั่ง start service cpanel - ใช้คำสั่ง
#service mysql start
เป็นคําสั่ง start service mysql - จากนนั้ทําการ reboot ด้วยคําสั่ง
#reboot