วันอังคารที่ 8 กันยายน พ.ศ. 2558

วิธีตั้งเวลา Zip File *.txt ด้วย Windows Task Scheduler (Zip2Del)

           สำหรับท่านที่ทำโปรแกรมเกี่ยวกับการเก็บ Log File ต่างๆคงประสบปัญหาเรื่องของพื้นที่เก็บ file เต็มอยู่บ่อยๆ เพราะวันหนึ่งๆนั้น Log file มีขนาดค่อนข้างใหญ่พอสมควร เราจึงต้องมีการจัดการ Zip File Logs เหล่านั้นเพื่อให้มีพื้นที่ที่สามารถเก็บ Log ได้มากขึ้น แต่บางวันเราก็ไม่สะดวกที่จะรีโมทไปทำ ยิ่งถ้าหากมีหลายๆเครื่องแล้วละก็ จะดีกว่ามั้ยถ้าเราสามารถใช้งานเครื่องมือ Windows Task Scheduler ในการตั้งเวลาให้เครื่องเซิฟเวอร์ทำงานเองโดยอัตโนมัติได้ ลองทำดูตามด้านล่างนี้ครับ

           ก่อนอื่นให้ Download โปรแกรม Zip File มา Install ที่เครื่องก่อน ซึ่งโปรแกรมนี้จะทำหน้าที่ในการ Zip File ที่เป็น .txt ทั้งหมดใน Folder ที่เรา set ไว้ ซึ่งมีเงื่อนไขในการทำงานคือ จะทำการ Zip File ที่ไม่มีการเขียนมากกว่า 1 วันเท่านั้น นั้นคือจะไม่ทำการ Zip File log.txt ของวันปัจจุบันเด็ดขาด และเมื่อทำการ Zip File เสร็จแล้วโปรแกรมจะทำการลบ File นั้นๆให้เราอัตโนมัติ
           เมื่อ Install เสร็จแล้วจะมี file อยู่ใน C:\\Program Files or (x86) และเราสามารถไปเปลี่ยนค่า Config file ได้ที่ Conf.ini
 
           ที่นี้เราก็มาใช้ Windows Task Scheduler ช่วยในการทำงานเพื่อสั่งให้ Zip2Del ทำงานในช่วงเวลาที่เราต้องการ โดยเข้าไปที่ Control Panel -> All Control Panel Items ->Administrative Tools



เลือก Task Scheduler -> Click ขวา เลือก Create New Task
 
เลือก Tab General ตั้งชื่อ Scheduler
 
เลือก Tab Triggers -> New -> เลือกเวลาที่ต้องการ Run Zip2Del
 
เลือก Tab Action-> New -> เลือก zipanddel.exe
 
จะเห็นว่ามี Task Scheduler ที่เราสร้างเกิดขึ้น test โดยการกด Run
 
จะเห็นว่ามีหน้าต่างแสดงรายละเอียดต่างๆ และใน Folder ที่เรา Set ไว้ก็จะทำการ Zip File .txt ที่มีการเขียนครั้งสุดท้ายมากกว่า 1 วัน พร้องกับลบ file ต้นฉบับ
 
แค่นี้ก็เรียบร้อยคับ ลองใช้งานกันดูนะคับ ^_^
 

            ในส่วน Logs การทำงานของโปรแกรมนั้นจะอยู่ที่ C:\temp\if2u-YYYYMMDD.txt
 
 
           สำหรับ โปรแกรม Zip2Del นั้น เป็นโปรแกรมที่ผมลองเขียนขึ้นมา เป็น v0.1 ซึ่งในอนาคตผมจะทำการเพิ่มเติมเรื่องของการ Conf โปรแกรมให้สามารถเลือก type ที่จะ Zip ได้ด้วยและจะค่อยๆทยอยเพิ่มเติม Function อื่นๆ เช่น ให้สามารถ set Time ได้เองโดยไม่ต้องไปตั้งที่ Windows Task Scheduler เอง ยังไงก็ลองใช้กันดูก่อนนะคับ ^_^