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 เสร็จเรียบร้อยแล้ว
เพื่อนํามาใช้งานกับเว็บไซต์และเพื่อใช้งานพื้นที่ที่ลูกค้าได้สั่งซื้อเข้ามา
1. ใช้คำสั่ง #service nginx stop
เป็นคําสั่ง stop nginx เพื่อหยดุการทํางาน
2. ใช้คำสั่ง #service httpd stop
เป็นคําสั่ง stop apache เพื่อหยดุการทํางาน
3. ใช้คำสั่ง #cp -r -a /var/www/vhosts /webdata
เป็นคําสั่ง copy ข้อมลูทงั้หมดใน vhosts ไปที่ /webdat เพื่อเก็บไว้ใน disk ลกูค้าใหม่
4. ใช้คำสั่ง #mv /var/www/vhosts /var/www/vhosts.bak
เป็นคําสั่งเปลี่ยนชื่อ vhosts เป็น vhosts.bak
5. ใช้คำสั่ง #ln -s /webdata/vhosts /var/www/vhosts เป็นคําสั่ง Symbolic link เพื่อเชื่อม 2 folder นี้เป็น folder เดียวกัน
Note: ถ้าจะยกเลิกการทําก็ใช้คําสั่ง unlink /webdata/vhosts /var/www/vhosts
7. ใช้คำสั่ง #service nginx start
เป็นคําสั่ง start nginx เพื่อให้ Service ทํางาน
8. ใช้คำสั่ง #service httpd start
เป็นคําสั่ง start Apache เพื่อให้ Service ทํางาน
9. จากนนั้ทําการ reboot ด้วยคําสั่ง #reboot
ตัวอย่าง Control Panel (WHM cPanel)
ขั้นตอนการ Symbolic link หลังสร้าง folder /webdata และ Map กับ disk เสร็จเรียบร้อยแล้ว
เพื่อนํามาใช้งานกับเว็บไซต์และเพื่อใช้งานพื้นที่ที่ลูกค้าได้สั่งซื้อเข้ามา
1. ใช้คำสั่ง #service cpanel stop
เป็นคําสั่ง stop service cpanel เพื่อหยดุการทํางาน
2. ใช้คำสั่ง #service mysql stop
เป็นคําสั่ง stop service mysql เพื่อหยดุการทํางาน
3. ใช้คำสั่ง #cp -r -a /home/admin/public_html /webdata
เป็นคําสั่ง copy ข้อมลูทงั้หมดใน public_html ไปที่ /webdat เพื่อเก็บไว้ใน disk ลกูค้าใหม่
4. ใช้คำสั่ง #mv /home/admin/public_html /home/admin/public_html.bak
เป็นคําสั่งเปลี่ยนชื่อ public_html เป็น public_html.bak
5. ใช้คำสั่ง #ln -s /webdata/public_html /home/admin/public_html เป็นคําสั่ง Symbolic link เพื่อเชื่อม 2 folder นี้เป็น folder เดียวกัน
Note: ถ้าจะยกเลิกการทําก็ใช้คําสั่ง unlink /webdata/public_html /home/admin/public_html
6. ใช้คำสั่ง #service cpanel start
เป็นคําสั่ง start service cpanel
7. ใช้คำสั่ง #service mysql start
เป็นคําสั่ง start service mysql
8. จากนนั้ทําการ reboot ด้วยคําสั่ง #reboot