วันพุธที่ 4 มีนาคม พ.ศ. 2552

สร้าง script ลบ squid 90 วันอัตโนมัติ...

บทความ aminta แห่ง www.thaibsd.com
ได้เวลาว่าง ๆ มาตอบซะที ผมเขียนแบบกำปั้นทุบดินนะครับ
อีกอย่างผมยังไม่ได้ลองนะนี่ (5555+ แต่น่าจะได้ละ)

อันดับแรกเลยนะครับ สร้าง sh shell script ใช้ editer ที่ถนัด save เป็น dot sh (ex. squid90day.sh)
ระบุ path ตามต้องกรของผมสมมุติที่อยู่ File อยู่ที่ /usr/local/ นะครับ ชื่อไฟล์ squid90day.sh
รายละเอียดตามด้านล่าง


----------------------- squid90day.sh -------------------------
#!/bin/sh
catdate=`cat /tmp/squid90days.tmp`
echo $catdate
if [ $catdate -gt 90 ];then
#ใส่คำสั่งที่คุณต้องการลงไปได้หรือเปลี่ยน Path ของ Squid Cache ข้างล่างบรรทัดนี้ครับ
rm -d /usr/local/squid/cache
mkdir /usr/local/squid/cache
squid -zD
else
catdate=$(($catdate +1))
echo $catdate > /tmp/squid90days.tmp
fi
---------------------------- EOF ------------------------------------


สังเกตุบรรทัดที่ 2 -> catdate=`cat /tmp/squid90days.tmp`
ให้เราไป สร้าง File หรือFolder ที่เห็นคือ /tmp/squid90days.tmp
หรือใช้คำสั่ง


---------------------------- Command ----------------------------
#mkdir /tmp
#echo 0 > /tmp/squid90days.tmp
---------------------------- EO CMD ----------------------------


ต่อมา crontab มีความหมายดังนี้
* * * * * command/script do you want
- - - - -
| | | | |
| | | | +----- day of week (0 - 6) (Sunday=0)
| | | +------- month (1 - 12)
| | +--------- day of month (1 - 31)
| +----------- hour (0 - 23)
+------------- min (0 - 59)

หรือเพิ่มลงไปที่บรรทัดสุดท้ายของ File "/etc/crontab" ตามนี้

-----------------------
1 0 * * * /usr/local/squid90day.sh
-----------------------


หมายถึงทำทุก เที่ยงคืนหนึ่งนาที ของทุกๆวัน

หากต้องการ Test script นี้ให้แก้ไขที่บรรทัดที่ 4 ของ File squid90day.sh ให้เป็น 1 ครับ
เพื่อทดสอบเก็บ log 1 วัน (อันนี้แล้วแต่ๆ)

หวังว่าคงไม่ขาดตกส่วนไหนไปนะครับ ท่านอื่นช่วยวิจารด้วยนะครับ
ผมยัง ยังไม่ได้สร้างส่วนของการสร้าง File และ Folder ของ Temp File ต้องสร้างเองด้วยมือ ท่านใดช่วยเขียนต่อด้วยนะครับ ขอขอบพระคุณ ผิดพลาดประการใดขออภัยมา ณ ที่นี้ (aminta)

ไม่มีความคิดเห็น: