cron เป็น utilities ตัวหนึ่งทำงานบนระบบปฏิบัติการ linux ทําหน้าที่ช่วยจัดการให้ software ของเรารันโดยอัตโนมัติ ตาม scheduling ที่เรา config ไว้
crontab เป็นไฟล์ที่เก็บตาราง scheduling และรายละเอียดต่างๆ ที่เราตั้งเวลาไว้เพื่อที่จะสั่งให้ cron ทํางานอีกทีนึง
การใช้งานก็ง่ายๆครับ เปิดไฟล์ “/etc/crontab” ขึ้นมาแล้วแก้ไขตามที่เราต้องการ ใช้คําสั่งนี้ได้เลยครับ
sudo nano /etc/crontab
หรือ
crontab -e
จะพบเนื้อหาไฟล์ดังนี้

crontab หลังจากนั้นให้เราเพิ่มบรรทัดคําสั่งต่อท้ายเข้าไป โดยรูปแบบของบรรทัดคําสั่งคือ [นาที] [ชั่วโมง] [วัน] [เดือน] [วันในสัปดาห์] [user] [โปรแกรมที่ต้องการรัน]

crontab
ถ้าเราต้องการจะสั่งให้รันคําสั่ง xxx ทุกๆ 5 นาที่ เราจะต้องเขียนแบบนี้
*/5 * * * * root xxx
ถ้าเราต้องการจะสั่งให้รันคําสั่ง yyy ทุกๆ 1 ชั่วโมง เราจะต้องเขียนแบบนี้
0 * * * * root yyy
รูปตัวอย่างการแก้ไข

crontab เมื่อแก้ไขไฟล์เสร็จ ก็ Save ให้เรียบร้อย แล้ว Reboot เครื่อง 1 ครั้ง เป็นอันเสร็จพิธี :)
CNAME Record (Canonical Name) เป็น Config ที่อยู่ใน DNS Management เพื่อบอกว่า Subdomain นี้ ให้ชี้ไปยัง Hostname ไหน เช่นกําหนด CANME ให้ mail.aaa.com ชี้ไปที่ webmail.bbb.com เมื่อเข้าเว็บด้วย mail.aaa.com มันก็จะวิ่งไปที่ webmail.bbb.com แล้วแสดงหน้าเว็บนั้นขึ้นมาทันทีกําหนด CANME ให้ www.aaa.com ชี้ไปที่ aaa.com เมื่อเข้าเว็บด้วย www.aaa.com มันก็จะวิ่งไปที่ aaa.com แล้วแสดงหน้าเว็บนั้นขึ้นมาทันทีกําหนด CANME ให้ api.aaa.com ชี้ไปที่ ccc.com เมื่อเข้าเว็บด้วย api.aaa.com มันก็จะวิ่งไปที่ ccc.com แล้วแสดงหน้าเว็บนั้นขึ้นมาทันทีจากตัวอย่างด้านบน ทําให้เราสามารถกําหนด CNAME เพื่อชี้ไปยัง Hostname ปลายทางใดๆก็ได้ ซึ่งจะมีประโยชน์มากในกรณีที่เรามีการเปลี่ยนเปลี่ยนแปลง Hostname เราก็แค่เปลี่ยน Config CNAME ให้ชี้ไปยัง Hostname ใหม่เท่านั้น User ก็จะยังเข้าใช้งานผ่าน Subdomain เดิมได้
บางคนอาจสงสัยว่าเราจะสามารถ Backup docker image เก็บไว้เองได้มั้ย โดยไม่ต้องไปฝากไว้ที่ docker registry นั่นเป็นที่มาของบทความนี้ครับ เราจะมา Backup docker image กัน
จากบทความ C++ OOP การสร้าง Class และการใช้งาน Class ผมอธิบายถึงการสร้าง Object แบบ Stack แต่ในบทความนี้ผมจะอธิบายเรื่องการสร้าง Object โดยใช้ Pointer ข้อแตกต่างกันคือ การสร้าง Object แบบ Stack จะคล้ายๆกับเราสร้างตัวแปรขึ้นมาตัวนึงเมื่อใช้งานเสร็จหรือจบโปรแกรม ระบบจะคืน memory หรือทําลาย Object นั้นทิ้งให้โดยอัตโนมัติ แต่ถ้าสร้าง Object แบบ Pointer จะไม่ทําลาย Object ให้เราเมื่อจบโปรแกรม เราจะต้องเป็นคนทําลาย Object เอง ทําสั่งที่ใช้ ทําลาย Object คือ "delete" ตามด้วย Object ที่ต้องการลบ _ถ้าเราไม่ลบ Object ที่เราสร้างขึ้น ระบบจะไม่สามารถเข้าใช้งาน memory ในส่วนนั้นได้ ทําให้เกิด memory leak _