Views: 882
Mục đích
Tạo một crontab ứng dụng phương pháp quản lý thời gian “không ai chơi lại”, dựa trên ý tưởng của phương pháp tracking được đề cập ở channel web5ngay mà mình đã tìm hiểu.
Lên ý tưởng
#1 Soạn kế hoạch nhắc nhở
#2 Soạn AppleScript, để hiện notification
#3 Setup crontab chạy script ở bước #2
Triển khai
1 Kế hoạch nhắc nhở
Mình sẽ gọi một đơn vị timebox là session. Mỗi session kéo dài 1 tiếng, trong đó:
+ 40 phút đầu: thực hiện công việc
+ 20 phút sau: lên kế hoạch cho session tiếp theo
Và cứ lặp lại như vậy cho đến bất cứ khi nào các bạn muốn kết thúc ngày.
2 Soạn Apple Script, để hiện notification
Sau đó các bạn nhập dòng lệnh như bên dưới, để tạo notification.
1 |
display notification "Let's start the session!!!" |
Rồi các bạn có thể lưu lại file script ở bất cứ đâu, ở đây mình sẽ lưu theo đường dẫn như sau, với tên file “40min_begin.scpt“:
1 |
~/Documents/AppleScript/40min_begin.scpt |
3 Setup crontab
Giả sử mình muốn hiện notification vào 5 phút trước khi bắt đầu Session mới, thì sẽ input như sau:
1 |
55 * * * * osascript ~/Documents/AppleScript/40min_begin.scpt |
(để hiểu hơn cách setting của cron, các bạn có thể tham khảo thêm ở đây)
Đến đây, khi nhập xong thì các bạn nhấn Shift + Z + Z (giữ Shift & nhấn 2 lần “Z”) để save cấu hình crontab ở trên.
Và như thế, chúng ta đã hoàn thành phần cấu hình crontab rồi.
3 (advanced)
Thực hiện được các bước ở trên thì chúng ta đã hoàn thành setup một crontab nhắc nhở kiểu “Còn 5 phút nữa bắt đầu nha!”
Giả như giờ mình muốn tạo thêm nhắc nhở ở các thời điểm sau thì sẽ như nào?
+ (1) 5 phút trước khi kết thúc block 40 phút
+ (2) vừa kết thúc một block 40 phút
+ (3) bắt đầu một session mới
Các bạn hãy thử suy nghĩ giải pháp trước khi đọc tiếp nhé.
Giải pháp:
Đầu tiên thì chúng ta cũng cần tạo file AppleScript mới cho mỗi câu thông báo, ví dụ:
+ mẫu script cho (1):
1 |
display notification "5 minutes left of session! Hurry up!" |
+ mẫu script cho (2):
1 |
display notification "Session END! Let's plan for the next one in 20 minutes!" |
+ mẫu script cho (3):
1 |
display notification "Let's ACTION!" |
Sau đó các bạn mở Terminal, gõ crontab -e
, và setup thời gian cho cron tương ứng.
Dưới đây là một bộ mẫu mình đã setup tại máy:
3 (references) một vài câu lệnh hữu ích khác
Kiểm tra xem hiện đang có bao nhiêu cron được setup:
1 |
crontab -l |
Xoá các crontab hiện có:
1 |
crontab -r |
Kết
Vậy là chúng ta đã hoàn thành được các mục tiêu: setup crontab trên Mac, dùng AppleScript để show notification, tạo nhắc nhở để quản lý thời gian theo phương pháp trên channel web5ngay.
Nếu các bạn quan tâm có thể tìm hiểu thêm các tác vụ khác nữa mà AppleScript có thể làm tại website chính của Apple ở đây hen.
Thân chúc các bạn thành công!
Tham khảo
- Phương pháp quản lý thời gian được chia sẻ tại channel web5ngay: https://youtu.be/5EnYhB6lolE
- https://apple.stackexchange.com/questions/24862/how-can-i-configure-my-computer-to-run-an-applescript-at-a-specific-time-caveat/24863#24863
- https://apple.stackexchange.com/questions/57412/how-can-i-trigger-a-notification-center-notification-from-an-applescript-or-shel
- https://crontab.guru/