วิธีใช้คำสั่ง 'at' เพื่อกำหนดเวลางานตามเวลาที่กำหนดหรือภายหลังใน Linux
ทางเลือกอื่นนอกเหนือจากตัวกำหนดเวลางาน cron คำสั่ง at
ช่วยให้คุณสามารถกำหนดเวลาคำสั่งให้รันหนึ่งครั้งในเวลาที่กำหนดโดยไม่ต้องแก้ไขไฟล์การกำหนดค่า
ข้อกำหนดเพียงอย่างเดียวประกอบด้วยการติดตั้งยูทิลิตี้นี้และเริ่มและเปิดใช้งานการดำเนินการ:
yum install at [on CentOS based systems]
sudo apt-get install at [on Debian and derivatives]
ถัดไป เริ่มต้นและเปิดใช้งานบริการ at ในเวลาบูต
--------- On SystemD ---------
systemctl start atd
systemctl enable atd
--------- On SysVinit ---------
service atd start
chkconfig --level 35 atd on
เมื่อ atd
กำลังทำงาน คุณสามารถกำหนดเวลาคำสั่งหรืองานได้ดังต่อไปนี้ เราต้องการส่งข้อมูลปิง 4 รายการไปยัง www.google.com
เมื่อนาทีถัดไปเริ่มต้นขึ้น (เช่น หากเป็น 22:20:13 คำสั่งจะดำเนินการเวลา 22:21:00) และรายงานผลลัพธ์ผ่านทางอีเมล (-m
ต้องใช้ Postfix หรือเทียบเท่า) ไปยังผู้ใช้ที่เรียกใช้คำสั่ง:
echo "ping -c 4 www.google.com" | at -m now + 1 minute
หากคุณเลือกที่จะไม่ใช้ตัวเลือก -m
คำสั่งจะถูกดำเนินการ แต่จะไม่มีการพิมพ์ใดๆ ไปยังเอาต์พุตมาตรฐาน อย่างไรก็ตาม คุณสามารถเลือกที่จะเปลี่ยนเส้นทางเอาต์พุตไปยังไฟล์แทนได้
นอกจากนี้ โปรดทราบว่า at
ไม่เพียงแต่อนุญาตเวลาคงที่ต่อไปนี้: ตอนนี้ เที่ยงวัน (12:00 น.) และเที่ยงคืน (00:00 น.) แต่ยังกำหนดตัวเลข 2 หลักเองด้วย (แทนเวลาทำการ) และ เวลา 4 หลัก (ชั่วโมงและนาที)
ตัวอย่างเช่น,
หากต้องการรัน updatedb
เวลา 23.00 น. วันนี้ (หรือพรุ่งนี้หากวันที่ปัจจุบันมากกว่า 23.00 น.) ให้ทำดังนี้
echo "updatedb" | at -m 23
หากต้องการปิดระบบเวลา 23:55 วันนี้ (ใช้เกณฑ์เดียวกับในตัวอย่างก่อนหน้านี้):
echo "shutdown -h now" | at -m 23:55
คุณยังสามารถชะลอการดำเนินการเป็นนาที ชั่วโมง วัน สัปดาห์ เดือน หรือปี โดยใช้เครื่องหมาย +
และกำหนดเวลาที่ต้องการตามตัวอย่างแรก
ข้อกำหนดด้านเวลาขึ้นอยู่กับมาตรฐาน POSIX
สรุป
ตามหลักการทั่วไป ให้ใช้ at แทนตัวกำหนดเวลางาน cron ทุกครั้งที่คุณต้องการรันคำสั่งหรือดำเนินการงานที่กำหนดในเวลาที่กำหนดไว้อย่างดีเพียงครั้งเดียวเท่านั้น สำหรับสถานการณ์อื่นๆ ให้ใช้ cron
ต่อไป เราจะกล่าวถึงวิธีการเข้ารหัสไฟล์เก็บถาวร tar โดยใช้ openssl จนกระทั่งยังคงเชื่อมต่อกับ Tecmint