เครื่องมือ / ยูทิลิตี้อะไรที่คุณควรรู้อย่างแน่นอนในขณะที่ทำงานเป็น Linux หรือ Windows Sysadmin
ฉันกำลังคิดถึงตัวอย่างเกี่ยวกับGNU / หน้าจอที่คุณต้องการหากคุณใช้งานเซิร์ฟเวอร์ Linux
เครื่องมือ / ยูทิลิตี้อะไรที่คุณควรรู้อย่างแน่นอนในขณะที่ทำงานเป็น Linux หรือ Windows Sysadmin
ฉันกำลังคิดถึงตัวอย่างเกี่ยวกับGNU / หน้าจอที่คุณต้องการหากคุณใช้งานเซิร์ฟเวอร์ Linux
คำตอบ:
vi - ฉันรู้ว่าทุกคนไม่ชอบมัน แต่มันจะอยู่บนเซิร์ฟเวอร์ * ที่คุณเจอและเมื่อทุกอย่างไม่ทำงานคุณจะต้องแก้ไขไฟล์กำหนดค่า ฉันจะแนะนำ csh และ sh ด้วยเหตุผลเดียวกัน
PuTTY : ไคลเอ็นต์ SSH ฟรีที่ยอดเยี่ยมสำหรับ Windows ทุกที่ที่ฉันทำงานได้ใช้สิ่งนี้เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ Unix จาก Windows
อย่าลืม sysdamin ต้องได้รับร่างกายด้วยกล่องคอมพิวเตอร์ของพวกเขา!
คุณต้องแน่ใจว่าคุณมีอย่างน้อยหนึ่งตัว
เพื่อนบางคนเขียนเกี่ยวกับ 10 สิ่งที่เขา / เธอคิดว่าทุกคนควรมีในกล่องเครื่องมือ
การเขียนสคริปต์
ฉันได้เรียนรู้ว่าแม้แต่เชลล์คำสั่งมาตรฐานของ Windows ก็มีประโยชน์จริงๆ ไม่จำเป็นต้องติดตั้ง PowerShell หรือ cygwin เพื่อรับฟังก์ชั่นการเขียนสคริปต์ที่เหมาะสมโดยเฉพาะอย่างยิ่งเมื่อควรติดตั้งสคริปต์บนเครื่องไคลเอ็นต์
มีเครื่องมือ unix / linux ขนาดเล็กมากมายที่เป็นประโยชน์
grep, strace, หน้าจอ GNU, ค้นหา, rsync, sed, awk, และ tripwire ก็น่าสนใจเช่นกัน
รายการยังคงดำเนินต่อไปและแน่นอนฉันลืมไปมากกว่ารายการที่นี่ และเรียนรู้เกี่ยวกับวิธีกำหนดค่าเครื่องมือเหล่านี้ตามที่คุณต้องการเช่นการกำหนดค่าไฟล์ * rc สิ่งนี้จะทำให้พวกเขามีประโยชน์มากขึ้น ตัวอย่างเช่นนี่คือไฟล์. screenrc ของฉันเนื่องจากคุณดูเหมือนหน้าจอที่สนใจ
1 startup_message off
2 hardstatus alwayslastline
3 hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B}%Y-%m-%d %{W}%c %{g}]'
4
5 # Window numbering starts at 1, not 0.
6 bind c screen 1
7 bind 0 select 10
8
9 # Default screens
10 screen -t shell1 1
11 screen -t shell2 2
12 screen -t shell3 3
คู่หูที่สมบูรณ์แบบสำหรับผู้ใช้ PuTTY สำหรับ Windows ที่ดูแลเครื่องระยะไกล * สำหรับฉันคือWinSCPซึ่งเป็นไคลเอ็นต์ FTP, SCP และ SFTP ที่สมบูรณ์แบบเรียบง่ายและใช้งานง่ายขนาดเล็ก
Powershell! Powershell เป็นเชลล์คำสั่งที่ยอดเยี่ยมสำหรับ windows สร้างขึ้นบน. NET Framework
คุณควรคุ้นเคยกับแพลตฟอร์มเนทีฟและเครื่องมือสำรองข้อมูลยอดนิยมในทุกแพลตฟอร์ม ไม่มีอะไรที่ทำให้ฉันแย่ยิ่งกว่าผู้ดูแลระบบที่ไม่รู้วิธีสำรองข้อมูลที่ดี การสำรองข้อมูลที่ดีจะช่วยให้คุณประหยัดจากความผิดพลาดใด ๆ ที่คุณอาจทำ
-ntbackup บน windows, dd / tar บน Linux คำสั่ง dump ฐานข้อมูล -tftp ไปยังสวิตช์สำรอง / เราเตอร์ / อุปกรณ์
เครื่องมือการเขียนสคริปต์เชลล์: bash / sh, awk, grep, head, tail, less, cat, sort, uniq, wc (และอื่น ๆ )
Awk ช่วยให้คุณวิเคราะห์ไฟล์บันทึกหรือไฟล์อื่น ๆ ที่สำคัญเมื่อคุณต้องการวินิจฉัยปัญหาได้อย่างง่ายดาย บางคนใช้perl
สิ่งนี้ คุณไม่จำเป็นต้องรู้ทุกอย่างเกี่ยวกับเครื่องมือทั้งสอง แต่คุณควรรู้อะไรบางอย่างเพื่อให้คุณสามารถตรวจสอบบันทึกการเข้าถึงหรือบันทึก http และดูว่ามีอะไรผิดปกติเกิดขึ้นหรือไม่
รวม awk กับ sort, uniq, tail, grep และ wc เพื่อทำให้ชีวิตของคุณง่ายขึ้น
ผสมในเชลล์สคริปต์บางตัว มันมีประโยชน์อย่างยิ่งที่สามารถทำสิ่งต่าง ๆ เช่น
for i in server1.example.com server2.example.com server3.example.com ; do
xterm -e "ssh ${i} tail -f /var/log/message | grep something ";
done;
นี้ช่วยให้คุณสามารถบันทึก grep something
ในสามเซิร์ฟเวอร์สำหรับ เทคนิคเช่นนี้ช่วยให้คุณประหยัดเวลาได้มากและเป็นเพราะเครื่องมือการเขียนสคริปต์เชลล์
for i in server{1,2,3}.example.com ; do
ที่คุณควรรู้ของอัญมณีนี้: ทางลัดเช่นนี้ช่วยประหยัดการพิมพ์จำนวนมาก
tail
- มีให้ในระบบ Linux / Unix ส่วนใหญ่ให้คุณดูบรรทัดสุดท้ายของไฟล์ (หรือท้ายท้าย) tail -f
ช่วยให้คุณดูบรรทัดใหม่ที่เพิ่มเข้าไปในไฟล์ตามที่ปรากฏ
tail -F
(ตรงข้ามกับtail -f
) จะให้พฤติกรรมตามชื่อแทนการตามด้วยไอโหนด
นี่อาจไม่ใช่คำตอบที่คุณต้องการ แต่ฉันแค่อยากแบ่งปันความคิด ในการบริหารระบบทั่วไปไม่เพียง แต่เกี่ยวกับเครื่องมือ แต่ยังเกี่ยวกับกรอบจิตที่คุณใช้ ในระยะสั้น - ถ้าคุณรู้ว่างานที่คุณต้องการทำแล้วหาเครื่องมือที่จะทำมันค่อนข้างง่าย
โดยทั่วไปมีคำถามไม่กี่ระบบดูแลระบบที่ต้องรู้เกี่ยวกับระบบ:
ตอนนี้ทางเลือกส่วนบุคคลของเครื่องมือคือ .. ส่วนตัว
Btw คำตอบเกี่ยวกับ vi ยอดเยี่ยมมาก!
ม.
บรรณาธิการที่ดี ไม่สำคัญหรอกว่าฉันจะอยู่ที่นี่เพื่อเริ่มสงครามไฟ แต่คุณต้องเรียนรู้การแก้ไขที่ดี
ฉันใช้ Emacs เพื่อทุกสิ่ง Vi (m) เป็นอีกสิ่งหนึ่งที่ดี ไม่แน่ใจเกี่ยวกับสิ่งที่จะดีที่สุดใน Windows แต่ฉันเดาว่าตัวแปร Win32 ของ 2 ที่ฉันพูดถึงจะดี
dmidecode - ยอดเยี่ยมสำหรับการรับข้อมูลทุกประเภทเกี่ยวกับเครื่องที่ทำงานอยู่
strace - เพราะเมื่อคุณไม่สามารถหาสาเหตุที่คำสั่งที่คุณออกใช้ไม่ได้ตามที่คุณต้องการ
พบ - มีตัวเลือกมากขึ้นสำหรับคำสั่งเล็ก ๆ น้อย ๆ นี้กว่าที่คุณอาจจะรู้ อ่านหน้าคนและรู้แจ้ง
xargs - มีประโยชน์มาก ๆ เมื่อคุณต้องการจัดการกับรายการต่าง ๆ
rsync - การรู้จัก rsync และตัวเลือกต่าง ๆ นั้นมีความสำคัญต่อการย้ายข้อมูลอย่างปลอดภัยและรวดเร็วในเครือข่ายของคุณ
telnet - คำสั่ง telnet ที่อ่อนน้อมถ่อมตนน่าจะช่วยฉันในการวินิจฉัยปัญหาการเชื่อมต่อเครือข่ายได้มากกว่าปีที่ผ่านมา
nmap - ยกเว้นอาจเป็น nmap
nc - netcat ยอดเยี่ยมมากสำหรับการตั้งค่าเซิร์ฟเวอร์ด่วนเพื่อดูว่าลูกค้าพยายามทำอะไรหรือแม้แต่ "telnet" โดยใช้ udp อ่านบทช่วยสอนเพื่อดูว่ามันมีประสิทธิภาพเพียงใด
sslclient openssl ของ Telnet ผ่านการเชื่อมต่อที่ปลอดภัยลงในเซิร์ฟเวอร์ https เพื่อวินิจฉัยความแปลก
ฉันแน่ใจว่ามีตันอีกมากที่ฉันจะจำได้ในที่สุด ตรวจสอบอีกครั้งสำหรับการปรับปรุง ;-)
กระบวนการตรวจสอบโดยเฉพาะอย่างยิ่งการแก้ไขปัญหาปัญหาการอนุญาต
ฉันกลายเป็นแฟนตัวยงของ DTrace แต่ ณ จุดนี้ยังไม่พร้อมสำหรับ Windows
ปกติฉันจะใช้:
ps : เพื่อดูกระบวนการที่กำลังรัน
wc : word count แสดงบรรทัดใหม่คำไบต์
grep : หารูปแบบ จับคู่หรือไม่จับคู่ (จับคู่ผกผัน)
>เพื่อเปลี่ยนเส้นทางเอาต์พุตไปที่ไฟล์ใหม่หรือ >> เพื่อเพิ่มที่ท้ายไฟล์
| เพื่อเชนคำสั่งด้วยกัน เอาต์พุตของคำสั่งแรกที่ใช้ในอันถัดไป
ที : เขียนอินพุตที่ได้รับไปยังไฟล์และมันยังแสดงข้อความบนหน้าจอ
เชนที่พบบ่อยที่สุดที่ฉันใช้:
ps ax | grep mysql
สำหรับ Windows อย่าลืม NET และ NETSH คุณจะหลงทางในเครือข่ายหากไม่มีพวกเขา
เครื่องมือบางอย่างไม่ได้บังคับ แต่ทำให้ชีวิตประจำวันง่ายขึ้น:
moreutils
แพคเกจ (Deb)บนยูนิกซ์, dmesg มันรวบรวมข้อความการวินิจฉัยระบบทั้งหมดและแสดงข้อความเหล่านั้นบนหน้าจอ
และใช่มัน 'ล้าสมัย' โดย syslogd แต่ฉันยังคงไม่ทราบวิธีการตั้งค่า syslogd เพื่อแสดงสิ่งต่าง ๆ เช่นเดียวกับ dmesg
tail /var/log/kern.log
มันจะต้องเป็น SSH และ Putty สำหรับฉัน: มันช่วยประหยัดค่าใช้จ่ายในการเดินทางและการเดินทางที่ไม่จริงและไม่มีการยุ่งกับการตั้งค่ากราฟิกหรือรอการรีเฟรชหน้าจอ :-)