FTP ครั้งละหลายเครื่องพร้อมกัน

รูปภาพของ adisorn_it
adisorn_it
Rating 2
Posts: 51
Joined: 28-09-2008
FTP ครั้งละหลายเครื่องพร้อมกัน

สวัสดีครับ
-คือผมอยากทราบวิธีการส่งข้อมูลไปยังเครื่องต่างๆในวง lan เดียวกันเพียงแค่เราส่งครั้งเดียวแต่ให้มันไปถึงปลายทางหรือเครื่องลูกที่ละหลายๆเครื่องพร้อมกัน
-เครื่องลูกเป็น linux mandrake and redhat
-เครื่องที่ส่งเป็น windows xp, 2000 ครับ
ขอความกระจ่างหน่อยครับขอบคุณครับ

รูปภาพของ adisorn_it
adisorn_it
Rating 2
Posts: 51
Joined: 28-09-2008
mail

ใครมีเมล์พี่จักรนันท์ขอหน่อยครับ

รูปภาพของ จักรนันท์
จักรนันท์
Rating 7
Posts: 551
Joined: 10-12-2004
เขียน Batch

เขียน Batch ไงครับ หรือไม่ก็เขียนโปรแกรมเอง เพราะดันเป็น Windows

แต่ถ้ากลับกัน ถ้าให้ Linux ไป FTP มาเองจะง่ายมากเลย ศึกษา Shell script ดูสิครับ

email ผม? จะเอาไปทำไมหรือครับ? 

รูปภาพของ adisorn_it
adisorn_it
Rating 2
Posts: 51
Joined: 28-09-2008
Shell script

อยากจะถามพี่เกี่ยวกับเรื่องนี้แหละครับพี่พอดีเห็นตอบปัญหาเกี่ยวกับ linux นะครับผมไม่ค่อยรู้เรื่อง linux สักเท่าไรได้ไหมครับ 

รูปภาพของ จักรนันท์
จักรนันท์
Rating 7
Posts: 551
Joined: 10-12-2004
Borne Again Shell

Borne Again Shell มีหนังสือขายมากมายเต็มไปหมดทั้งไทยและเทศครับ หาบน Internet ก็มีความรู้เกลื่อนกลาดไปหมด ทั้งไทยและเทศเช่นกัน ลองศึกษาดูด้วยตนเองก่อนสิครับ ผมไม่ได้เป็นส่วนหนึ่งส่วนใดของทีมงานที่นี่ครับ ผมเพียงแต่มาช่วยตอบปัญหาเอื้อเฟื้อแก่ผู้คนที่มีปัญหา ซึ่งปัญหาและตัวผู้ถามนั้นต้องเป็นปัญหาและลักษณะผู้ถามที่เข้าเงื่อนไขผม ผมจึงจะตอบให้ จะให้ผม "เข็นภูเขาเข้าครก" นั้น ผมไม่ทำดอกครับ

ลองพยายามศึกษาดูนะครับ แล้วติดปัญหาจริงๆ แล้วค่อยมา Post ถามดีกว่าครับ คนอื่นจะได้ประโยชน์ไปด้วย ไม่มีเหตุจำเป็นก็ไม่ต้องไปคุยกัน "หลังไมค์" ดอกครับ ถามที่นี่ ในนี้นั่นแหละครับ

เมื่อคุณศึกษามาแล้ว มีปัญหามาถาม ผมจะคะเนจากการถามของคุณได้ ว่าผมควรจะช่วยตอบคำถามของคุณหรือไม่ "จงแสดงตัวของคุณเสียก่อนครับ" อย่าอาย อย่ามีอัตตาในความพยายาม แต่จงอาย จงมีอัตตาในความดิ้นรนที่ไม่เพียงพอของตนเองครับ

พยายามเข้านะครับ ผมจะคอยดูคุณครับ หลายคนที่เข้ามาใน Board นี้ผมก็เฝ้าดู เจ้าตัวเขาจะรู้ตัวได้เอง ผมมีวิธีส่งสารของผมแน่นอน ผมรับรองว่าผมไม่ลืมคุณ ถ้าคุณไม่ลืมที่จะ "พยายาม" ไม่เช่นนั้นคุณจะไม่มีคุณค่าพอที่จะให้ผม "จดจำ" ครับ

รูปภาพของ adisorn_it
adisorn_it
Rating 2
Posts: 51
Joined: 28-09-2008
Borne Again Shell

ขอบคุณครับสำหรับคำตักเตือนส่วน bash หรือพวกตระกูล shell ของ linux ผมก็พอเข้าใจวิธีการเขียนอยู่แต่ปัญหาที่ผมถามก็คือผมต้องการแค่รู้ว่าเครื่องๆหนึ่งสามารถที่จะส่งข้อมูลที่ต้องการไปให้หลายๆเครื่องพร้อมกันโดยที่เราไม่ต้องมา FTP ที่ละเครื่องหรือว่าใช้ samba เป็นตัวแชร์มันมีวิธีอย่างอื่นไหมไม่ใช่จะมาเริ่มศึกษา shell ครับ  

รูปภาพของ จักรนันท์
จักรนันท์
Rating 7
Posts: 551
Joined: 10-12-2004
"...แต่ปัญหา

"...แต่ปัญหาที่ผมถามก็คือผมต้องการแค่รู้ว่าเครื่องๆ หนึ่งสามารถที่จะส่งข้อมูล..." จากคำถาม... งั้นผมจะตอบตามตัวอักษรนะครับ

มีครับ NFS ก็ได้ SSH ก็ได้ หรือจะ HTTP ก็ได้ครับ นอกจากนั้นยังใช้ Protocol อื่นๆ ได้อีกมากมาย.... ทั้งหมดก็แค่ *Idea* เท่านั้น อย่างไรก็ต้อง "ทำอะไรๆ ที่ยากยิ่งกว่าการเขียน Script เสียอีก"

ที่จริง... ผมเข้าใจนะครับ ว่าคุณถามปัญหา "M$ Windows administrator style" และเข้าใจด้วยว่าได้พยายามใช้คำถามเป็นอย่างดีที่สุดแล้ว แต่เพราะคุณถูก Microsoft ล้างสมองมา "วิธีคิด" จึงกลายเป็นทาสของ Application โดยอัตโนม้ติ ทั้งที่จริงคุณอยากจะถามด้วยคำถามที่ง่ายกว่านี้เช่น... "มีโปรแกรมสำเร็จรูปอื่นใดไหม ที่จะช่วยส่งไฟล์ไปยัง Client ได้ง่ายๆ ทีละหลายๆ เครื่องโดยเพียงแค่ Click สองสามที" ตอบเลยว่า "ไม่มี" ครับ

GNU และ GPL ไม่ได้เกิดมาเพื่อให้ "ผู้ใช้" ทุกระดับชั้นยิ่งใช้ยิ่งโง่ลง ยิ่งใช้ยิ่งไม่รู้เรื่อง ยิ่งใช้ยิ่งเป็นแต่ร้องขอแต่ทำเองไม่เป็น ไม่งั้นก็ต้องนั่งโง่รอซื้อหรือขโมยเขาใช้ไปเรื่อยๆ แต่เกิดมาเพื่อให้ผู้ใช้ยิ่งใช้ยิ่งเข้าใจ ยิ่งรู้มากขึ้น เพียงแค่ขึ้นอยู่กับว่า ผู้ใช้นั้น "อยากจะรู้" มันหรือเปล่า?

คำถามคุณเหมือนจะเป็น "Administrator" ดังนั้นแค่เรื่อง Shell จึงควรเป็นเรื่อง *พื้นฐาน* ขนาดที่ไม่ควรใช้ประโยคว่า "ไม่ใช่จะมาเริ่มศึกษา shell ครับ" เพราะมันง่ายขนาดเขียน Shell แค่คำสั่งเดียวจริงๆในการส่งไฟล์ไปแต่ละ Client แต่ผมบอกเพื่อจะได้ดูว่าคุณ *ได้ลอง* ไปชายตาแง้มๆ มองดูบ้างหรือยัง? แง้มๆ คิดดูบ้างหรือยัง? พูดง่ายๆ คือ... "มีแววไหม?" เพราะออกจะเป็นเรื่องที่ง่ายสุดๆ จริงๆ

ที่จริง... ไม่ได้ต้องใช้ความสามารถของ Shell เลยในการทำงานนี้ครับ!! แค่คนเขียน Batch ไฟล์บน DOS เป็นก็พอแล้ว แต่... ใช้ความรู้ในการใช้คำสั่ง FTP ต่างหากครับ และไม่ว่าจะใช้ SAMBA หรือ NFS หรือ ฯลฯ ในการส่ง ก็ต้องใช้ความรู้ในเรื่องนั้นเท่านั้นครับ

แต่คำถามของคุณเหมือน "ฉันอยากทำได้โดยไม่ต้องรู้อะไรเลย จะได้ไหม?" ไม่ควรเป็นคำถามของผู้ที่เป็นหรือกำลังจะเป็นหรือคิดจะเป็น อยากจะเป็น "ผู้ดูแลระบบ" "Administrator" "root" "MIT" "IT" "MIS" "Programmer" ฯลฯ (ตะหวักตะบวยหัวโขนอะไรก็ตามแต่จะเรียกกันนะครับ) เอาเป็นว่า เป็น "ผู้ที่ไม่ได้เป็นแค่เพียง End user" แล้วกัน

หากได้คิดได้จับได้ทำได้ศึกษาจริงๆ แล้ว ความต้องการของคุณสุดจะทำง่ายมากๆ จริงๆ และวิธีการมีได้เป็นร้อยวิธีขึ้นอยู่กับ "Idea" หรือ "ความคิดสร้างสรรค์" นั่นเองครับ

ความต้องการของคุณมันก็แค่.... "ฉันต้องการเขียนข้อความตามกำแพงในที่ต่างๆ นอกจากเดินด้วยเท้าไปเขียนแล้ว มีวิธีอื่นใดที่จะพาฉันไปยังกำแพงต่างๆ ได้บ้าง ไม่ใช่จะมาเริ่มศึกษาว่า ก. ไก่ เขียนอย่างไร"

ผมเห็นว่า ปัญหามันไม่ได้อยู่แค่ที่ ทำอย่างไรจึงไม่ต้องเดินด้วยเท้าไปหากำแพงเหล่านั้น? เสียแล้ว มีอีกตัวคือ คุณไม่รู้ด้วยว่า ก. ไก่ เขียนอย่างไร?

คิดแบบ Windows Application แบบนี้แย่เลย... FTP ด้วย Application จนเคยตัว ทั้งที่จริงหลาย FTP Application บน Windows มีขึ้น Command แสดงตลอดเวลาด้วยซ้ำ

แค่ FTP เป็น คุณก็จะไม่ถามคำถามแล้วครับ โดยไม่ต้องแตะ Shell เลย ส่วนของ Shell จะมาช่วยแค่ "ทำซ้ำๆ" หรือ "Loop" ไปยังหลายๆ เครื่องๆ เท่านั้นเอง...

*หมูๆ* จริงๆ นะครับ ลองกินดูเสียก่อนครับ ไม่ใช่ "หิน" แน่นอน รับรอง "ฟันไม่หัก" ครับ

อย่าเคยตัวมา เมื่อไม่มี Application สำเร็จรูปแล้ว แป้ก ทำอะไรไม่ได้เลย แบบนั้นมัน M$ Windows Administrator แล้วครับ ที่คอพวกเขามีปลอกคอห่วงเหล็กสวมไว้อยู่ เห็นไหมครับ? กระโหลกกลายเป็นกะลา เปิดออกมาข้างในยังค่อยๆ กลายเป็นขี้เลื่อยอีกด้วย เจ้าตัวก็ดันชอบอีก "ไม่ต้องคิดอะไรดีแฮะ" จ่ายตังค์แล้วคลิ๊กๆ คลิ๊กๆ ลูกเดียว ไม่งั้นก็ขโมยใช้เอา (จะขโมยต่อไปได้อีกนานซักเท่าไหร่กันเชียว)

เชื่อผมเถิดครับ ความต้องการของคุณเป็น "เรื่องหมูๆ" จริงๆ ขนาด Search ใน Internet ก็เจอแล้ว คำสั่งเดียว บรรทัดเดียว Statement เดียวจริงๆ มีคนถามคำถามเดียวกับคุณบน Internet แล้วครับ ผมแค่อยากรอดูว่าคุณ *ได้พยายาม* หรือยัง? แค่ไหน?

เชื่อผมเถิดครับ ในใจคุณที่คิดว่าตนเอง "ถึงทางตัน" นั้น ที่จริงไม่ตันอะไรเลยแค่ติดภาพเขตแดนที่ M$ Windows ตีเส้นไว้ในสมองคุณเท่านั้นเอง อย่าเชื่อในกำแพงที่มโนภาพคุณเห็นอยู่ครับ ก้าวเดินออกมาเลยครับ ข้ามเส้นนั้นออกมาเลยครับ ข้ามมาแล้วเมื่อหันกลับไปมอง... คุณจะอุทานว่า.. "ว๊ายตาย ทำไมพวก Windows Administrator ปัญญาอ่อนแบบนั้นฟะ" ยืนมองเส้นที่ M$ ตีไว้ให้ ไม่กล้าก้าวข้ามเส้นไป กลัวนั่น กลัวนู่น กลัวนี่ คิดไปเองทั้งหมดเลย ทั้งที่จริงไม่มีอะไรที่ *ยาก* ขนาดที่คุณคิดเลยจริงๆ

ย้อนอดีตไป... ครั้งแรกที่เมื่อผมเริ่มจับ FTP (นานมากแล้ว ประมาณเวลาไม่ได้เลย ตั้งแต่ Internet ยังไม่เป็น Commercial) ผมใช้เวลาประมาณ 10 นาทีก็แตกฉานแล้วทำได้ตั้งแต่บัดนั้นเป็นต้นมาเท่านั้นครับ หมูยิ่งกว่าศึกษา Application หลายๆ ตัวเสียอีกครับ มันไม่มีอะไรมากอย่างที่คุณคิดเอาเองจริงๆ นะครับ

แต่เพราะไม่มีอะไรมาก.. แล้วจะขอ email ผมเพื่อให้ผมบอกให้เลยเฉยๆ นั้นหรือ... "ฝันไปเถอะครับ"

มันไม่ยากพอที่จะควรมือผม....

รูปภาพของ ohno
ohno
Rating 10
Posts: 1267
Joined: 12-05-2003
" มันไม่ยา

" มันไม่ยากพอที่จะควรมือผม...."

ต้องขนาดไหนครับ หุหุ สักผมต้องการวิจัยปัญหาเรื่องการเก็บ log โดยต้องการเปรียบเทียบหาว่าควรต้องเก็บอย่างไร ผมต้องศึกษาอะไรบ้าง เอาแบบแนววิจัยเพราะต้องศึกษาก่อนลงมือเก็บ อยากได้ทุกอย่างที่จำเป็นจริงๆ แต่ไม่อย่างเก็บทั้งหมด

คงง่ายอีกใช่ไหม ^-^

แต่ง่ายๆ แบบนี้แนะนำได้ใช่ไหมครับ 

รูปภาพของ จักรนันท์
จักรนันท์
Rating 7
Posts: 551
Joined: 10-12-2004
สำหรับคุณ

สำหรับคุณ ohno ผมต้องขอถามก่อนว่า..

1) Trace route อันนี้แตกฉานหรือยังครับ? ถ้ายัง เข้าใจแค่ไหน?

2) iptables ทั้ง 4 และ 6 อันนี้แตกฉานหรือยังครับ?

2 อย่างนี้เท่านั้นเอง ที่จะตอบโจทย์คุณได้ทั้งหมดอย่างทะลุปรุโปร่งถึงขนาดที่ สามารถเก็บได้ตลอด Route ต้นทางยันปลายทางเลยทีเดียว

แต่ที่จริง ต้องถามตัวเองครับ ว่าจะเอาขนาดไหน? 

สำหรับคำถามว่า "ต้องขนาดไหน?" ขนาดที่ผู้ถามแสดงให้เห็นว่าได้พยายามมาแล้ว ไม่ใช่อย่างรกณีนี้ ที่คำตอบมันแค่บรรทัดเดียวจริงๆ (ผมมั่นใจว่าคุณ ohno คิดออก ว่าบรรทัดเดียวยังไง) เอ้า... ต่อให้ไม่ใช่รุ่นเดอะอย่างผม ก็ออกมาแค่ไม่ถึง 10 บรรทัดอยู่ดี ถึงไม่ Optimize เลยก็น่าจะยังอยู่แค่ 10 บรรทัดจริงๆ แถมมีแต่ FTP Command ส่วน Shell command นั้น มีแค่ ls กับ while เท่านั้น... จบเลยจริงๆ..

ใช่ไหมครับ?

ถ้าผมเฉลย Script ผมล่ะ คุณ ohno จะว่า ทำไมต้องเขียนเป็น Script หว่า ก็ในเมื่อมันเหลือแค่คำสั่งที่พิมพ์ครั้งเดียวแล้ว Enter ได้เลยนี่หว่า.... ก็เพราะ... จะสั้นจะยาว มันอยู่ที่ "Idea" ไงครับ ผมจึงอยากให้ไปได้ "คิดค้น" เสียก่อน

รูปภาพของ adisorn_it
adisorn_it
Rating 2
Posts: 51
Joined: 28-09-2008
มันไม่ยากพอที่จะควรมือผม...

ครับผมเดี๋ยวผมขอลองทำดูอีกพัก ที่ผมถามไปเพราะผมได้ลองทำไปแล้วพักใหญ่นึ่ง แต่ก็ยังไม่ได้ก็ยังคงใช้วิธีการ FTP เหมือนเดิมแล้วก็ลองแชร์ไฟล์ด้วย samba ปกติแต่วิธีการแชร์ไฟล์หรือ FTP ก็ต้องเข้าไปที่ละเครื่องแต่ว่าเครื่องที่ผมต้องการโอนไฟล์มันเป็น linux หลายร้อยเครื่องซึ่งตรงนี้แหละที่ผมยังไม่เข้าใจเพราะทุกเครื่องที่จะเข้าไปต้อง login ใส่ password แล้วจึงใช้คำสั่งๆงานต่อไปส่วนคำสั่ง FTP เข้าใจดีครับตรงนั้น เดี๋ยวขอทำก่อนนะครับส่วน mail ของพี่ไม่เป็นไรครับผมเข้าใจครับ ถึงผมไม่แตกฉานเรื่อง linux แต่ผมก็ศึกษาอย่างจริงจังใช่ผมเล่น ms windows มาก่อน linux อาจจะติดนิสัยของรูปแบบของ windows ช่วงหลังก็เอาจริงเรื่อง linux มากขึ้นแต่บางอย่างผมก็ไม่เข้าใจจริงๆไม่ใช่ไม่ลอง ก็ลองครับแต่ไม่ว่าตัวเองไปถูกทางรึเปล่าเลยต้องหาถามผู้รู้เพื่อที่จะให้คำแนะนำผมเชื่อว่าไม่มีใครรู้ทุกเรื่องหรอกแต่ก็ไม่มีอะไรเหนือความพยายามของเราแต่ทั้งนี้ถ้ามีผู้แนะนำก็หน้าจะช่วยให้เราหาข้อมูลได้เร็วขึ้นครับ

ขอบคุณครับบบบบบ

รูปภาพของ จักรนันท์
จักรนันท์
Rating 7
Posts: 551
Joined: 10-12-2004
"...แต่ว่าเค

"...แต่ว่าเครื่องที่ผมต้องการโอนไฟล์มันเป็น linux หลายร้อยเครื่อง..."

อืมมม์... ตรงนี้แหละครับ ที่คุณต้องศึกษาเพิ่มจริงๆ คุณเข้าใจผิดอย่างมาก ว่าปัญหามันอยู่ที่ Client เหล่านั้น ที่จริงแล้วปัญหาอยู่ที่เครื่องที่คุณจะส่งเป็น Microsoft Windows ต่างหากครับ เครื่องที่เป็น Linux น่ะทำได้ทุกแบบแหละครับ หากเป็น Client ก็กำหนดให้ไป FTP มาเองก็ได้ แต่ก็นั่นแหละ มันทำให้คุณต้องไปป้อนคำสั่งหรือใส่ Script ไว้ในทุกเครื่องเลย แต่ถ้าหาก Server เองก็เป็น Linux ก็จบเลย เอาใส่ไว้ที่ Server เลยก็ได้ แต่ที่คุณถาม Server ดันเป็น Windows ไงครับ ก็จบเห่สิครับ ไม่รู้จะหา Application ให้ได้อย่างไร ไม่งั้นก็ต้องเขียนโปรแกรมเองครับ จะเขียน Batch ก็ไม่ได้เพราะ Shell ของ Windows (COMMAND.COM) ไม่เก่งกาจขนาดทำ Batch ได้อย่างชาญฉลาด

สถานการณ์อย่างคุณ เป็นผมจะทำอย่างไร?

- Server เป็น Microsoft Windows จบครับ ไม่ต้องทำอะไรกับเขา

- Client เป็น Linux ทั้งหมด เปิด FTP ไว้แล้ว?

ก็จะเลือก Client ขึ้นมาสักตัว ใกล้ๆ มือที่สุด ทำหน้าที่เป็นผู้แจกจ่ายไปเครื่องอื่นๆ เองไงครับ เมื่อ Windows Server ทำไม่ได้ก็ช่สงหัวมันปะไร ปล่อยมันดักดานต่อไปไงครับ

ทีนี้ ผมจะบอก Concept การทำให้ แต่อยากให้ไปลองทำเองนะครับ

ที่เครื่อง Linux ที่เราเลือกมา 1 เครื่องนั้น ทำในฐานะ User ใดก็ได้นะครับ ไม่ต้องเป็น root เลย

1. ให้สร้าง Directory ขึ้นมาที่หนึ่งไว้ทำการของเรา

2. สร้างไฟล์ targets.txt ข้างในแต่ละบรรทัดประกอบด้วยข้อความ

    IPปลายทาง FTPUser FTPPassword TargetDirectory

แต่ละบรรทัดก็ไล่ไปตามจำนวน Client หรือหาก Client มีรายละเอียดเหมือนกันหมดก็ไม่ต้องทำก็ได้ ถ้าหากต่างกันแค่ IP ก็ไม่จำเป็น

3. เขียน Script เข้า Loop ตามบรรทัดไฟล์ targets.txt เพื่อเรียก FTP ส่งไฟล์ตามรายการ Client ในนั้นไงครับ

4. จะให้ Run ตามเวลาก็ใส่ cron ไว้ครับ หรือจะเห็บไว้เรียกเองก็ได้ตามใจ

เฉลย Concept แล้วนะครับ เห็นไหมครับ กุญแจอยู่ที่ Idea ครับ ถ้าทุก Client มีรายละเอียดเหมือนกัน ก็เข้า Loop ไล่ตาม IP แทน ไฟล์ targets.txt ก็ไม่ต้องมีเลยก็ได้ ทำดีๆ กลายเป็นชุดคำสั่งที่พิมพ์ได้บน Commandline เพียงครั้งเดียวโดยไม่ต้องเขียน Script ได้เลยจริงๆ ครับ

รูปภาพของ จักรนันท์
จักรนันท์
Rating 7
Posts: 551
Joined: 10-12-2004
คุณ ohno

เมื่อวานผมได้ Reply คุณไป 1 ครั้ง แล้วพบว่าตนเองตอบไม่ดี ไม่เข้า "แนววิจัย" เรื่อง Log ไอ้ที่ตอบไว้มันออกไปแนว Implementing ก็เลย Reply ในแนววิจัยไว้ให้ด้วย

นี่มา Reply เจ้าของกระทู้ต่อแล้วจึงได้เห็นว่า Reply เมื่อวานผมหายไป ไม่แน่ใจว่าหายไปจริงๆ หรืออย่างไร? ลบทิ้งไป? คุณ ohno ได้อ่านคำแนะนำไปหรือยังครับ?

ถ้ามันหายไปจริงๆ ผมจะ Reply ให้ใหม่ ผมยังอยู่ถึงพรุ่งนี้เย็นครับ

รูปภาพของ adisorn_it
adisorn_it
Rating 2
Posts: 51
Joined: 28-09-2008
IPปลายทาง FTPUser FTPPassword TargetDirectory

เดี๋ยวผมลองทำก่อนนะครับได้เรื่องยังไงเดี๋ยวเอารายงานอีกที่ครับ

ทั้งบน windows และก็เลยครับ ขอบคุณครับ

รูปภาพของ adisorn_it
adisorn_it
Rating 2
Posts: 51
Joined: 28-09-2008
IPปลายทาง FTPUser FTPPassword TargetDirectory

มาแว้ว หลังจากที่ได้ไปทดลองทำดูหลายๆวิธีก็ได้ผลสรุปว่า

1. ถ้าต้องการใช้ ms windows เป็นตัวแจกไฟล์ไปยังเครื่องต่างๆที่เป็น linux ที่ผมได้ใช้ batch file เขียนสร้าง batch file ขึ้นว่าชื่ออะไรก็ได้แต่ผมใช้ชื่อ ftp_auto.bat แล้วเขียนโค๊ด

----------code------------

@echo name (FTP)        ใส่อะไรก็ได้แล้วแต่

ftp -n -i -s:FTP_auto.txt 192.168.1.1  ต้องการให้ ftp ไปที่ ip 192.168.1.1

ftp -n -i -s:FTP_auto.txt 192.168.1.7           "ip 192.168.1.7"

ftp -n -i -s:FTP_auto.txt 192.168.1.9

ftp -n -i -s:FTP_auto.txt 192.168.1.3

ftp -n -i -s:FTP_auto.txt 192.168.1.5

 ส่วน -n ให้ auto login เพื่อเข้าใช้คำสั่งนอง ftp แต่ยังไม่สามารถโอนย้ายไฟล์ได้

ส่วน -i ให้โอนย้ายไฟล์แบบ mput mget แบบไม่ต้องให้ตอบ y ทุกครั้ง

ส่วน -s:FTP_auto.txt เป็นไฟล์ที่เราต้องการให้ทำอะไรของคำสั่ง ftp

ยกตัวอย่างไฟล์ FTP_auto.txt

---------FTP_auto.txt-------------

user           คำสั่งให้ใส่ชื่อ login
user           ชื่อ login
123456       password ของชื่อ login
pwd                    คำสั่งที่ใช้งานต่างๆของ ftp
cd /home/user     คำสั่งที่ใช้งานต่างๆของ ftp
pwd               "
ls                   "
lcd c:\test2         "
mget tt*           "
mput tes*       "
bye                 "

ทดลองดูโอเคใช้ได้ครับผมพี่มีตรงไหนชี้แนะเพิ่มเติมไหมครับ

รูปภาพของ adisorn_it
adisorn_it
Rating 2
Posts: 51
Joined: 28-09-2008
IPปลายทาง FTPUser FTPPassword TargetDirectory

ส่วน shell ของ linux ผมสร้างชื่อมาชื่อหนึ่งยกตัวอย่างชื่อ ftp_auto.sh

code ที่ผมใช้

#!/bin/sh
HOST1='10.8.199.102'
HOST2='10.8.199.2'
HOST3='10.8.199.1'
HOST4='10.8.199.101'
HOST5='10.8.199.104'
HOST6='10.8.199.4'
HOST7='10.8.199.200'
HOST8='10.8.199.201'
HOST9='10.8.199.202'
HOST10='10.8.199.203'
USER='root'
PASSWD='maxtor'
FILE='yyy*'

ftp -n -i $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
lcd /home/hdstr/configs
cd /home/hdstr/configs
put yyyy.txt
put yyyy2.txt
quit
END_SCRIPT
ftp -n -i $HOST2 <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
lcd /home/hdstr/configs
cd /home/hdstr/configs
mput yyy*
quit
END_SCRIPT
ftp -n -i $HOST3 <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
lcd /home/hdstr/configs
cd /home/hdstr/configs
mput yyy*
chmod 775 yyyy2.txt
quit
END_SCRIPT
ftp -n -i $HOST4 <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
lcd /home/hdstr/configs
cd /home/hdstr/configs
mput yyy*
chmod 775 yyyy2.txt
quit
END_SCRIPT
ftp -n -i $HOST5 <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
lcd /home/hdstr/configs
cd /home/hdstr/configs
put yyy*
chmod 775 yyyy2.txt
quit
END_SCRIPT
ftp -n -i $HOST6 <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
lcd /home/hdstr/configs
cd /home/hdstr/configs
mput yyy*
quit
END_SCRIPT
ftp -n -i $HOST7 <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
lcd /home/hdstr/configs
cd /home/hdstr/configs
mput yyy*
chmod 775 yyyy2.txt
quit
END_SCRIPT
ftp -n -i $HOST8 <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
lcd /home/hdstr/configs
cd /home/hdstr/configs
mput yyy*
chmod 775 yyyy2.txt
quit
END_SCRIPT
ftp -n -i $HOST9 <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
lcd /home/hdstr/configs
cd /home/hdstr/configs
mput yyy*
chmod 775 yyyy2.txt
quit
END_SCRIPT
ftp -n -i $HOST10 <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
lcd /home/hdstr/configs
cd /home/hdstr/configs
mput yyy*
chmod 775 yyyy2.txt
quit
END_SCRIPT
exit 0
ปัญหาก็คือเกิดเราต้องการเป็นร้อย ip ผมก็ต้องทำแบบซ้ำๆกันเท่าที่ต้องการกลายเป็นว่าต้องเขียนแบบซ้ำๆกันอย่างนี้เพราะว่า ip ที่ต้องการโอนย้าม ip มันไม่ได้เรียงต่อเนื่องกันมีวิธีไหนที่ช่วยแนะนำให้สั้นกว่านี้มี idea ดีๆแนะนำหน่อยครับ

รูปภาพของ adisorn_it
adisorn_it
Rating 2
Posts: 51
Joined: 28-09-2008
chmod and chown
แล้วอีกอย่างครับไฟล์ที่เราโอนย้ายไปต้อง login แต่ละเครื่องเพื่อเข้าไปเปลี่ยนสิทธิ์พอมีวิธีที่จะเขียน script เปลี่ยนสิทธิ์พร้อมกับตอนโอนย้ายไฟล์ไหมครับแบบครั้งละหลายๆเครื่องตามที่เราต้องการครับ 
รูปภาพของ taz
taz
Rating 10
Posts: 1165
Joined: 02-12-2002
เห็นพยายามมาหลายวันช่วยหน่อยแล้วกัน

สร้าง file 2 file

server.lst

--------------------------

10.8.199.102
10.8.199.2
10.8.199.1
10.8.199.101
10.8.199.104
10.8.199.4
10.8.199.200
10.8.199.201
-----------------------------

 

ftp.sh

====================

#!/bin/sh
USER="root"
PASSWD="maxtor"
FILE="yyy*"
Path="/home/hdstr/configs"
cat server.lst|while read LINE
do
ftp -n -i $LINE << END
quote USER $USER
quote PASS $PASSWD
lcd $Path
cd $Path
mput $FILE
chmod 775 yyyy2.txt
by
END
done

===================

 

ps. อยากให้มี file เดียวตัวแปร server ทำเป็น array แล้ว loop array เอาก็ได้ shell ทำ array ได้เหมือนกัน แต่ต้องเปลี่ยน shell เป็น #!/bin/bash

ตัวอย่าง การใช้งาน array

 #!/bin/bash
A[0]=xxxx
A[1]=yyy
count=0
        echo ${A[$count]}
count=`expr $count + 1`
        echo ${A[$count]}

--

=Read The Fxxx Manual _| ̄|○

Don't Learn to HACK - Hack to LEARN

ถ้าไม่รู้ว่า RTFM คืออะไรให้ไปอ่าน ถามอย่างไรจึงจะได้คำตอบ

รูปภาพของ adisorn_it
adisorn_it
Rating 2
Posts: 51
Joined: 28-09-2008
RTFM

 RTFM เยี่ยมมากครับมีประโยชน์มากส่วน code นำไปทดลองแล้ว ok เลยครับ

ขอบคุณครับ

รูปภาพของ ohno
ohno
Rating 10
Posts: 1267
Joined: 12-05-2003
คุณจักรนันท์

อ้าว เพิ่งได้มาอ่านเพิ่ม แล้วอันไหนที่คุณจักรนันท์ตอบอ่ะครับ O_O

เห็นเท่าที่อ่านเรื่องให้อ่านเรื่อง ipv 4,6 ครับ แค่นั้น ขอใหม่แล้วกันครับ ถ้าได้เข้ามาอ่าน

ตอนนี้ติดงานที่ต้องทำเพียบเลย

- load balance คิดว่าจะเอาเรื่อง bond

- ศึกษาการเก็บ Log
เฮ้ย คิวเพียบ

รูปภาพของ จักรนันท์
จักรนันท์
Rating 7
Posts: 551
Joined: 10-12-2004
ผมเพิ่งกล
ผมเพิ่งกลับมาครับ เดี๋ยวผมจะมาคุยต่อนะครับ มีเวลาอีก 10 วันก็บินอีก กระทู้ Update เพียบเลย
Syndicate content