shell script copy รูปไปไว้ที่ใหม่

Shell เอาไว้ Copy รูปจากที่เก่าไปที่ใหม่แบบทีล่ะเยอะๆ


เนื่องจากก่อนหน้านี้เมื่อประมาณ 4-5 ปีที่แล้วมีการเขียนโปรแกรมเว็บ รถยนต์มือสอง แบบเก็บรูปทั้งหมดไว้ในโฟลเดอร์เดียวแบบไม่มีแตกย่อยโฟลเดอร์ ซึ่งไม่ได้คำนึงถึงรูปที่มีการเพิ่มขึ้นมาเรื่อยๆของแต่ล่ะวัน พอโฟลเดอร์เยอะๆ Server ไม่สามารถสร้างไฟล์รูปขึ้นมาได้ เลยต้องมีการย้ายไฟล์รูปไปแตกซอยย่อยออกเพื่อที่จะรองรับไฟล์ขนาดมหาศาลในอนาคต หากจะนั่ง cp ไปทีล่ะโฟลเดอร์คงนานเลยต้องเขียน shell script สั่งรันผ่าน server เอาง่ายสุด มีเทพน้องป๊อบมาช่วยเขียนให้ครับ แก้ที่เครื่อง server ก็อบปี้ไฟล์ก่อนแล้วแก้ที่โปรแกรมอีกที ผมเขียนไว้เตือนตัวเองใช้อีกครั้งในอนาคต เริ่มกันเลย

สร้างชื่อไำฟล์อะไรก็แล้วแต่ตามใจชอบ เช่น cp_filepic.sh
แล้วใส่รายละเอียดตามข้างล่างนี้ เชฟเป็นไฟล์ .sh เพื่อจะได้สั่งรันสคริปอีกครั้ง

#!/bin/sh
for folder in `ls /var/www/virtual/thaibuycar.com/htdocs/pic`
do
echo "$folder"
if [ $folder -lt 3001 ]; then
	cp -R /var/www/virtual/thaibuycar.com/htdocs/pic/$folder /var/www/virtual/thaibuycar.com/htdocs/item-pic/1/
elif [ $folder -lt 6001 ]; then
	cp -R /var/www/virtual/thaibuycar.com/htdocs/pic/$folder /var/www/virtual/thaibuycar.com/htdocs/item-pic/2/
elif [ $folder -lt 9001 ]; then
	cp -R /var/www/virtual/thaibuycar.com/htdocs/pic/$folder /var/www/virtual/thaibuycar.com/htdocs/item-pic/3/
elif [ $folder -lt 12001 ]; then
	cp -R /var/www/virtual/thaibuycar.com/htdocs/pic/$folder /var/www/virtual/thaibuycar.com/htdocs/item-pic/4/
elif [ $folder -lt 15001 ]; then
	cp -R /var/www/virtual/thaibuycar.com/htdocs/pic/$folder /var/www/virtual/thaibuycar.com/htdocs/item-pic/5/
elif [ $folder -lt 18001 ]; then
	cp -R /var/www/virtual/thaibuycar.com/htdocs/pic/$folder /var/www/virtual/thaibuycar.com/htdocs/item-pic/6/
elif [ $folder -lt 21001 ]; then
	cp -R /var/www/virtual/thaibuycar.com/htdocs/pic/$folder /var/www/virtual/thaibuycar.com/htdocs/item-pic/7/
elif [ $folder -lt 24001 ]; then
	cp -R /var/www/virtual/thaibuycar.com/htdocs/pic/$folder /var/www/virtual/thaibuycar.com/htdocs/item-pic/8/
elif [ $folder -lt 27001 ]; then
	cp -R /var/www/virtual/thaibuycar.com/htdocs/pic/$folder /var/www/virtual/thaibuycar.com/htdocs/item-pic/9/
elif [ $folder -lt 30001 ]; then
	cp -R /var/www/virtual/thaibuycar.com/htdocs/pic/$folder /var/www/virtual/thaibuycar.com/htdocs/item-pic/10/
elif [ $folder -lt 33001 ]; then
	cp -R /var/www/virtual/thaibuycar.com/htdocs/pic/$folder /var/www/virtual/thaibuycar.com/htdocs/item-pic/11/
elif [ $folder -lt 36001 ]; then
	cp -R /var/www/virtual/thaibuycar.com/htdocs/pic/$folder /var/www/virtual/thaibuycar.com/htdocs/item-pic/12/
elif [ $folder -lt 39001 ]; then
	cp -R /var/www/virtual/thaibuycar.com/htdocs/pic/$folder /var/www/virtual/thaibuycar.com/htdocs/item-pic/13/
elif [ $folder -lt 42001 ]; then
	cp -R /var/www/virtual/thaibuycar.com/htdocs/pic/$folder /var/www/virtual/thaibuycar.com/htdocs/item-pic/14/
	elif [ $folder -lt 42001 ]; then
	cp -R /var/www/virtual/thaibuycar.com/htdocs/pic/$folder /var/www/virtual/thaibuycar.com/htdocs/item-pic/14/
fi
done

หลังจากสร้างไฟล์ .sh เสร็จก็ทำการสร้างโฟลเดอร์ปลายทางตามพาทที่เราจะย้ายไป
ต่อจากนั้นสั่งรัน sh cp_filepic.sh เพียงเท่านี้ก็เป็นการสิ้นสุดการ copy ไฟล์รูปแล้วครับ

  • หนังออนไลน์

    ขอบคุณมากครับ

  • ขอบคุณครับ
    แต่ความรู้ผมยังไม่ถึงขั้นแน่ๆ

  • คงเหมือนกับปัญหา Y2K มั้งครับ
    แบบว่าเข็มขัดสั้น 555

  • than kuy mak mak.

  • ฉลาดน้อย

    ผมไม่มีความรู้เรื่องรู้เรื่องนี้เลย อยากทำเป็นมั่ง เห็นโค้ดด้านบนแล้ว งง อ่ะ
    ทำไงบ้างครับ

  • Coach Shopping bags are produced Coach outlet locations you will need to be able to name ” up “