วันอาทิตย์ที่ 10 สิงหาคม พ.ศ. 2551

ตั้งเวลาด้วย at

คำสั่ง at เป็นคำสั่งที่เอาไว้สั่งให้ โปรแกรม อื่นๆทำงานตามเวลา ที่กำหนด ซึ่งบางทีเรายังไม่อยากให้มันทำ ณ. เวลาปัจจุบัน เช่น จำเป็นจะต้องโหลดโปรแกรมขนาดใหญ่ แต่ก็ยังเป็นช่วงเวลาทำงานอยู่ เกรงว่าคนอื่นจะได้รับผลกระทบ ก็เลยต้องเลื่อนเวลาออกไปโหลดตอน ห้าทุ่ม แต่ก็กลัวลืม และคงรอไม่ไหว คำสั่งนี้ช่วยได้

การใช้คำสั่งนี้ก็ง่ายนิดเดียว โดยเรียกคำสั่งแล้วตามด้วยเวลา แล้ว enter หน้าจอจะขึ้นบรรทัดใหม่ ตรงนี้ให้ใส่คำสั่งที่ต้องการจะให้ทำงาน เสร็จแล้วจะออกจากโปรแกรม at ก็ให้กด Ctrl+d ก็จะออกจากโปรแกรม at พร้อมแจ้ง job และเวลาที่จะทำงาน ดังตัวอย่าง

wutthiphan@enigma:~$ at 23:00
warning: commands will be executed using /bin/sh
at> wget -b -c ftp://ftp.au.debian.org/pub/debian-cd/4.0_r0/debian-40r0-i386-DVD-2.iso
(กด CTRL+D)
job 4 at Fri Apr 20 23:00:00 2007

เราสามารถตรวจสอบ job ที่ยังค้างอยู่ด้วยคำสั่ง atq และหากต้องการลบ job ทิ้งก็สามารถใช้คำสั่ง atrm ได้
ใช้คำสั่ง atq ดู job ที่ยังไม่ได้ทำ

wutthiphan@enigma:~$ atq
4 Fri Apr 20 23:00:00 2007 a wutthiphan

จากด้านบนมี job หมายเลข 4 รอการทำงานที่เวลา 23:00 น. หากต้องการลบก็สามารถสั่ง atrm และตามด้วย job id เช่น

wutthiphan@enigma:~$ atrm 4

การตั้งเวลาแบบต่างๆ เพื่อความยืดหยุ่นในการใช้งานขอยกตัวอย่างสักเล็กน้อยดังนี้

ตั้งให้ทำงานเวลา หกโมงเช้า วันจันทร์
at 6am monday

ตั้งให้ทำงานในอีก 30 นาทีข้างหน้า
at now + 30 minutes

ตั้งให้ทำงานเวลา ตีสี่ ในอีก 3 วันข้างหน้า
at 4am + 3 days

ตั้งให้ทำงานเวลา 8 โมงเช้า ของวันที่ 27 เมษายน
at 8am April 27

ที่สำคัญเพื่อให้คำสั่ง at ทำงานได้ service atd นั้นต้องทำงานอยู่ด้วย start service atd โดยสั่งดังนี้
# /etc/init.d/atd start

คลังบทความของบล็อก