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