- - วิธีการสำรองข้อมูลประวัติเทอร์มินัล Linux

วิธีการสำรองข้อมูลประวัติเทอร์มินัล Linux

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

ในคู่มือนี้เราจะแสดงวิธีสำรองประวัติเทอร์มินัล Linux และวิธีคืนค่าการสำรองข้อมูลด้วย ดังนั้นเปิดโปรแกรมจำลองเทอร์มินัล Linux ที่คุณโปรดปรานและทำตาม!

ที่เก็บประวัติเทอร์มินัล Linux อยู่ที่ไหน

สถานี Linux เก็บประวัติไว้ในไฟล์ ไฟล์นี้มีชื่อว่า“ .bash_history” ทุกคนสามารถแก้ไขได้และจะถูกเก็บไว้ในโฮมไดเร็กตอรี่ เนื่องจากไฟล์ประวัติเทอร์มินัลสำหรับ Linux ถูกเก็บไว้ในไดเรกทอรีผู้ใช้ผู้ใช้ทุกคนในระบบจึงมีไฟล์

สิทธิ์พิเศษไม่ได้ปกป้องประวัติศาสตร์เหล่านี้ไฟล์และผู้ใช้ในระบบสามารถดูประวัติของผู้อื่นด้วยคำสั่งง่าย ๆ ตัวอย่างเช่นหากฉันต้องการดูประวัติ terminal / command-line ของชื่อผู้ใช้“ ผู้ใช้” บนระบบ Linux ของฉันฉันจะทำ:

cat /home/user/.bash_history

ผู้ใช้ยังสามารถดูประวัติของผู้ใช้ปัจจุบันที่พวกเขาลงชื่อเข้าใช้ในเชลล์เทอร์มินัล Linux เพียงแค่ดำเนินการคำสั่ง“ ประวัติ”

history

เหนือสิ่งอื่นใดเนื่องจาก“ ประวัติ” เป็นเพียงไฟล์จึงสามารถค้นหาได้เหมือนกับไฟล์ข้อความทั่วไปโดยใช้ฟังก์ชัน grep ตัวอย่างเช่นหากต้องการค้นหาอินสแตนซ์ของ“ git clone” ในชื่อผู้ใช้ด้วยคำสั่งด้านล่าง

cat /home/user/.bash_history | grep "git clone"

นอกจากนี้ยังทำงานเป็นผู้ใช้ที่ล็อกอินด้วยคำสั่ง“ history”

history | grep "search term"

บันทึกประวัติเทอร์มินัลลงในข้อมูลสำรอง

ในส่วนก่อนหน้าของคู่มือนี้ฉันได้พูดคุยเกี่ยวกับวิธีการ“ ประวัติ” สำหรับเทอร์มินัล Linux เป็นเพียงไฟล์ข้อความที่ซ่อนอย่างเรียบร้อยที่มีคำสั่งที่ผู้ใช้ป้อนทั้งหมด ดีเพราะมันเป็นแค่ไฟล์นั่นหมายความว่ามันง่ายมากที่จะสำรองข้อมูลเพื่อความปลอดภัย

ในการสร้างการสำรองข้อมูลใช้ประโยชน์จาก แมว คำสั่ง ทำไม? กับ แมวคุณสามารถดูไฟล์ข้อความทั้งหมดได้ในเทอร์มินัล เราสามารถใช้คำสั่งนี้ร่วมกับสัญลักษณ์“>” เพื่อเปลี่ยนทิศทางการแสดงผลไปยังไฟล์สำรอง

ตัวอย่างเช่นหากต้องการสำรองข้อมูลประวัติปัจจุบันของคุณให้เรียกใช้ แมว คำสั่งกับ“ ~ / .bash_history” และบันทึกลงในไฟล์ที่มีป้ายกำกับ“ history_backup”

cat ~/.bash_history > history_backup

นอกจากนี้คุณยังสามารถเรียกใช้ ประวัติศาสตร์ ใช้คำสั่งร่วมกับ“>” และบันทึกด้วยวิธีนั้น

history > history_backup

สุดท้ายเป็นไปได้ที่จะสำรองประวัติบรรทัดคำสั่ง / เทอร์มินัลของผู้ใช้รายอื่นที่ไม่ได้ลงชื่อเข้าใช้โดยใช้คำสั่งด้านล่าง

หมายเหตุ: อย่าลืมเปลี่ยน "ชื่อผู้ใช้" เป็นผู้ใช้ที่คุณต้องการบันทึกประวัติ

cat /home/username/.bash_history > history_backup

สำรองข้อมูลรายการประวัติบางอย่างเท่านั้น

คุณอาจต้องการสำรองคำสั่งเฉพาะในประวัติเทอร์มินัล Linux ของคุณ วิธีการทำเช่นนี้คือการดูไฟล์ประวัติและรวมเข้ากับ grep คำสั่งซึ่งจะกรองคำหลักที่เฉพาะเจาะจง

ตัวอย่างเช่นเพื่อเฉพาะคำสั่งสำรองในประวัติเทอร์มินัล Linux ของคุณที่มี โคลนคอมไพล์ หรือ คอมไพล์ คำสั่งคุณสามารถเรียกใช้การทำงานด้านล่าง

บันทึก: ในตัวอย่างเหล่านี้เราใช้“ >>” แทน“>” เหตุผลของ“ >>” ก็คือมันจะไม่เขียนทับเนื้อหาของการสำรองข้อมูลไฟล์ประวัติและสามารถเรียกใช้ซ้ำหลายครั้งเพื่อเพิ่มลงใน การสำรองข้อมูล

cat ~/.bash_history | grep "git" >> history_backup

หรือ

cat /home/username/.bash_history | grep "git" >> history_backup

กรองด้วย grep ยังสามารถใช้กับ ประวัติศาสตร์ คำสั่งเช่นนั้น

history | grep "git" >> history_backup

หากต้องการสำรองคำหลักบางคำจากไฟล์ประวัติให้แทนที่“ git” ในตัวอย่างด้านบนด้วยคำสั่งที่คุณต้องการสำรองข้อมูล รู้สึกอิสระที่จะเรียกใช้คำสั่งนี้อีกครั้งเท่าที่จำเป็น

วิธีคืนค่าการสำรองข้อมูลประวัติ

การกู้คืนการสำรองข้อมูลประวัตินั้นง่ายเหมือนการลบไฟล์ต้นฉบับและวางการสำรองไว้ หากต้องการลบไฟล์ประวัติดั้งเดิมให้ใช้ RM คำสั่งในหน้าต่างเทอร์มินัลเพื่อลบ“ .bash_history”

rm ~/.bash_history

เมื่อไฟล์ประวัติดั้งเดิมถูกลบออกจากโฟลเดอร์โฮมของผู้ใช้ที่คุณต้องการเรียกคืนประวัติให้ใช้ mv คำสั่งเปลี่ยนชื่อ“ history_backup” เป็น“ .bash_history”

mv history_backup ~/.bash_history

ตอนนี้ไฟล์ประวัติใหม่อยู่ในตำแหน่งที่รันแล้ว ประวัติ -rw คำสั่งเพื่อโหลดฟังก์ชั่นประวัติของเครื่อง

history -rw

จากนั้นคุณจะสามารถดูประวัติเทอร์มินัลด้วย:

history

คืนค่าการสำรองข้อมูลสำหรับผู้ใช้รายอื่น

ต้องการเรียกคืนการสำรองข้อมูลประวัติจากผู้ใช้รายอื่นในระบบหรือไม่ ในการดำเนินการนี้ให้เริ่มโดยลงชื่อเข้าใช้ของผู้ใช้โดยใช้ su คำสั่ง

su username

หลังจากเข้าสู่ผู้ใช้ให้ลบไฟล์ประวัติปัจจุบันที่อยู่ในโฮมไดเร็กตอรี่ของผู้ใช้ (~)

rm ~/.bash_history

จากนั้นเปลี่ยนชื่อไฟล์สำรองข้อมูลประวัติเป็นไฟล์“ .bash_history” ใหม่ในไดเรกทอรีของผู้ใช้

mv /path/to/backup/file/history-backup ~/.bash_history

เขียนการเปลี่ยนแปลงด้วย:

history -rw

เมื่อเสร็จแล้วให้เรียกใช้ ประวัติศาสตร์ เพื่อดูคำสั่งที่กู้คืนในหน้าต่างเทอร์มินัล

ความคิดเห็น