Олон сервертэй Линукс орчинд олон үүрэг даалгавар нь нэг буюу хэд хэдэн файлыг нэг серверээс нөгөөд шилжүүлэхтэй холбоотой байдаг. Зөөх шаардлагатай файлуудын тооноос хамааран танд туслах хэд хэдэн тушаалууд байдаг.
Эдгээр хэлэлцүүлэгт манай серверүүд Алис, Мадхат, Алис дээрх хэрэглэгч маань туулай, харин madhat дээрх хэрэглэгч маань Fieldmouse гэж бодъё.
Алхам
Алхам 1. Нэг файлын хувьд "scp" командыг туршиж үзээрэй
Та үүнийг "түлхэх" эсвэл "татах" тушаал болгон ашиглаж болно, гэхдээ файлыг нөгөө сервер рүү түлхэж эхэлье. Алис дээр байхдаа "scp myfile fieldmouse@madhat: thatfile" командыг ашиглана уу. Энэ нь файлыг нөгөө систем рүү "thatfile" нэртэй талбарын хулганы хэрэглэгчийн нэр рүү хуулах болно. Хэрэв та өөр системд нэвтэрсэн бол "scp rabbit@alice: myfile thatfile" гэсэн командыг ашиглан файлыг хялбархан татаж аваад ижил үр дүнд хүрч чадна.
Алхам 2. Бүхэл бүтэн лавлахыг хуулахын тулд бид "scp" командыг дахин эргүүлж болно
Энэ удаад бид хуулбарыг "рекурсив" үйлдэл хийхийн тулд -r шилжүүлэгчийг нэмж оруулах болно. "scp -r mydir fieldmouse@madhat:." "mydir" лавлахыг бүх агуулга, нэмэлт лавлахыг оруулаад бусад систем рүү хуулах болно. Madhat дээрх лавлахыг mydir гэж нэрлэсээр байх болно.
Алхам 3. Хэрэв танд хуулах файл, директорын том "эмх замбараагүй байдал" байвал яах вэ?
Та "tar" командыг ашиглан ганц файл үүсгэж, дараа нь дээрх файлыг хуулж, дараа нь бусад сервер дээр өргөжүүлэхийн тулд tar-ийг ашиглана уу. Үүнийг ганц алхамаар хийх арга зам байх ёстой, тийм үү? Мэдээжийн хэрэг! Дуртай бүрхүүлийнхээ хоолойг оруулна уу. Бид хүссэн файлуудаа багцлахын тулд tar ашиглаж болно, дараа нь ssh -ийг ашиглан бусад системд (scp -ийг хавтасны доор ашиглаж байсан), нөгөө талд нь tar -ийг ашиглан файлуудаа өргөжүүлж болно. Гэхдээ бид зөвхөн хоёр системийг хамарсан хоолой үүсгэж, түүгээр дамжуулан tar өгөгдлийг дамжуулах боломжтой байхад жинхэнэ tar файлыг бий болгохын тулд цаг хугацаа, орон зайг яагаад үрэх ёстой юм бэ? Өмнөх жишээн дээрх лавлахыг ашиглан "tar -cf - mydir/ * | ssh fieldmouse@madhat 'tar -xf -'"
Зөвлөмж
- Мэдээжийн хэрэг үүнийг хийх өөр аргууд байдаг. Линукс нь олон хэрэгслүүдээр дүүрэн байдаг. Таны миль өөр байж болно
- Та дээрх тушаалуудыг ашиглахдаа сүлжээний тохиргоо, орчныхоо дагуу хэрэглэгчийн нэр/хостын нэр/файлын нэр/лавлах нэрийг солих хэрэгтэй. Дээр үзүүлсэн командууд нь сервер дээр файл хуулах командыг гүйцэтгэх жишээ юм.