วันจันทร์ที่ 25 กุมภาพันธ์ พ.ศ. 2551

shell script ทำการย้าย file ไปยังเครื่อง server

#shell script ทำการย้าย file ไปยังเครื่อง server หรือ เครื่องอื่น.

#!/bin/bash

#ประกาศ path ต้นทางที่จะทำการย้าย file.
LOCALDIR=/usr/local/log/

#ประกาศ path ปลายทาง ที่จะนำ file ไปไว้.
REMOTESERVER=192.168.XXX.XXX
REMOTEPATH=/usr/local/server/log/

#ชื่อ user login.
LOGIN=user

#password login.
PASSWORD=pass

#ไปยัง path ที่ต้องการย้าย file.
cd $LOCALDIR

#connect ไปยัง server ที่ต้องการย้าย file.
ftp -n $REMOTESERVER << INPUT_END

#1. login one line. 
#user $LOGIN $PASSWORD 

#2. login 2 line. 
quote user $LOGIN 
quote pass $PASSWORD 

#ไปยัง path server ที่ต้องการนำ file ไปไว้. 
cd $REMOTEPATH
prompt off 

#ย้ายทุก file ใน directory ปัจจุบัน ไปยัง server. 
mput *.* 

#logout server. 
exit 

INPUT_END 

เอามาเพิ่มเติมให้ครับ กรณีต้องการย้ายสำเนา file ทั้ง folder

ขั้นแรกก็ไปยัง path ปัจจุบันที่เราต้องการให้ file ที่เราต้องการมาวางไว้

และใช้คำสั่งดังนี้ครับ.
scp -r user@host:/the/path/ .

scp -r : คือคำสั่ง ที่เราจะใช้ copy ทั้ง folder
/the/path/ : คือ path folder ที่เราต้องการ copy


เพิ่มเติมอีกหน่อย (27/08/2010)
ตัวอย่าง stfp พร้อม ssh
#!/bin/bash

sftp $LOGIN@$REMOTESERVER:$REMOTEPATH <<EOF
mput *.* #or other command
bye 
EOF 

ssh $LOGIN@$REMOTESERVER <<EOT
cd $REMOTEPATH
./script.sh #or other command
exit 
EOT 


ในตัวอย่างที่เรายกมานี้ต้องใส่ pass word สองครั้ง คือตอนเรียกเพื่อ ftp file และตอน เรียกเพื่อ run script file

ไม่มีความคิดเห็น: