เมานต์อุปกรณ์บล็อกเป็น / var / log ระหว่างการเริ่ม


0

ฉันต้องการใช้อุปกรณ์ ram block เพื่อจัดเก็บเนื้อหาของ/var/logโฟลเดอร์ ไดรเวอร์อุปกรณ์บล็อกที่สำรองข้อมูลไว้ที่ฉันใช้นั้นเป็นไดรเวอร์เดียวกับในลิงค์นี้

/dev/rbหนึ่งนี้จะสร้างอุปกรณ์ ผมอยากจะรู้ว่าสิ่งที่ฉันต้องทำเพื่อ (1) รูปแบบเป็น Ext3FS และ (2) /var/logติดมันเป็น สิ่งนี้จะต้องทำในระหว่างการเริ่มต้นระบบ

การทดสอบที่สำเร็จ: ไฟล์ข้อความเคอร์เนลต่างๆถูกเก็บไว้ในอุปกรณ์ RAM ที่ฉันสร้างขึ้น

ขอบคุณสำหรับความช่วยเหลือ!

คำตอบ:


0

สิ่งนี้ควรเป็นสิ่งที่สามารถทำได้ใน/etc/rc.localไฟล์เริ่มต้นซึ่งจะถูกเรียกใช้ในตอนท้ายของทุกระดับ

หากต้องการเมานต์ / var / log คุณจะต้องหยุดกระบวนการใด ๆ ที่มีไฟล์เปิดอยู่ในไดเรกทอรีล็อกแล้วทำการเมานต์ใหม่ คำแนะนำของฉันคือการเพิ่มบรรทัดต่อไปนี้ในrc.localสคริปต์ของคุณเพื่อให้มันทำงานตอนบูท:

    lsof | grep /var/log | awk '{ print $1 }' | uniq > /root/logs_open

lsofแสดงรายการไฟล์ที่เปิดอยู่ทั้งหมด จากนั้นเราจะกรองบรรทัดทั้งหมดที่ไม่อ้างอิง / var / log ( grep /var/log) เราพิมพ์เฉพาะคอลัมน์แรก (ชื่อกระบวนการ) ของผลลัพธ์ ( awk '{ print $1 }') โดยเก็บเฉพาะหนึ่งสำเนาของแต่ละ ( uniq) และส่งผลลัพธ์ไปยังไฟล์ ( > /root/logs_open) คุณจะต้องเพิ่มบางอย่างลงในไฟล์เริ่มต้นเพื่อหยุดกระบวนการเหล่านี้ก่อนที่จะติดตั้งพาร์ติชันและรีสตาร์ทพวกเขาในภายหลัง ด้วยข้อมูลนี้ในมือให้ลบบรรทัดนั้นออกจาก rc.local และเราสามารถเริ่มต้นได้

ก่อนอื่นเราต้องทำทุกอย่างที่คุณต้องการเพื่อสร้าง ramdisk คุณอาจสร้างสคริปต์เพื่อทำสิ่งนี้

/root/create_ramdisk.sh

ในการสร้างระบบไฟล์ ext3 ให้เรียกใช้:

mkfs.ext3 /dev/rb

ถัดไปหยุดกระบวนการใด ๆ ที่เข้าสู่ระบบ

service apache2 stop

ตอนนี้เราสามารถเมานต์ / var / log

mount /dev/rb /var/log

เริ่มต้นกระบวนการที่เราหยุดก่อนหน้านี้

service apache2 start

ท้ายที่สุด rc.local จะต้องออกจากสถานะ 0 หรือสิ่งเลวร้ายเกิดขึ้น

exit 0

rc.local สคริปต์:

/root/create_ramdisk.sh # example purposes only
mkfs.ext3 /dev/rb # create the filesystem
system apache2 stop # stop processes with open log files
mount /dev/rb /var/log # mount
system apache2 start # restart anything we stopped before
exit 0 # important!!! rc.local must exit successfully or Bad Things (tm) happen

ฉันหวังว่านี่จะช่วยได้.

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.