Cách đơn giản nhất để thực hiện tự động hóa với Python là sử dụng crontab [cron] trên Mac hoặc Trình lập lịch tác vụ trên Windows. Trong hướng dẫn này, bạn sẽ học cách sử dụng crontab tự động chạy tập lệnh Python của mình
Để thực thi tập lệnh Python qua crontab, hãy sử dụng
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]0 trong Terminal của bạn và sử dụng một trong các biểu thức Lịch trình Cron như
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]1,
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]2 hoặc sử dụng định dạng sau đây
$ * * * * * /usr/bin/python python-script.py
Để biết thêm, hãy làm theo phần còn lại của hướng dẫn bên dưới
Đăng ký nhận bản tin của tôi
Contenus người giả trang
1 Cron và Crontab là gì?
2 Bạn có thể tự động hóa những gì?
3 Tổng quan về Dự án
4 Bạn sẽ cần gì?
5 Cách lên lịch tác vụ với Cron
5. 1 Biểu thức lịch trình CRON
6 Làm cách nào để lên lịch cho tập lệnh bằng Cron?
7 Tạo tập lệnh Python
8 Tạo công việc định kỳ đầu tiên của bạn trong Crontab
8. 1 Liệt kê crontab hiện tại
8. 2 Tạo Crontab mới
8. 3 Các lệnh của Vi Editor
9 Tạo Trình lập lịch tập lệnh Python
9. 1 Cách lên lịch cho tập lệnh Python
9. 2 Chạy Tự động hóa tập lệnh
10 Tóm tắt
11 Hướng dẫn bổ sung
12 Khắc phục sự cố
12. 1 Thao tác không được phép
12. 2 Quyền bị từ chối
12. 3 Dừng tác vụ Cron hiện đang chạy
13 Bảng mã Crontab
14 Kết luận
14. 1 Bài viết liên quan.
Cron và Crontab là gì?
Cron là công cụ cho phép người dùng tự động chạy tập lệnh, lệnh hoặc phần mềm theo một lịch trình đã chỉ định. Crontab là tệp liệt kê các công việc mà cron sẽ thực thi
Cron không thực thi khi máy tính đang ở chế độ ngủ
Cron hoàn hảo để chạy tự động hóa tác vụ đơn giản có thể chạy trong ngày khi bạn đang làm việc
Để tự động hóa tác vụ một cách liền mạch cho dù máy tính của bạn có mở hay không. Cron không phải là giải pháp phù hợp với bạn. Bạn sẽ cần chạy tập lệnh của mình trên các máy chủ như AWS cho loại tự động hóa này
Bạn có thể tự động hóa những gì?
Bạn có thể trích xuất dữ liệu từ Google Search Console và Google Analytics theo một lịch trình cụ thể, gửi cho mình báo cáo email hàng tuần, ghi nhật ký tất cả từ khóa của bạn mỗi ngày hoặc tự động hóa nghiên cứu từ khóa, khởi chạy thu thập dữ liệu hàng tuần, lưu rô-bốt. txt và hơn thế nữa
Trước khi chúng ta có thể trình bày tất cả những điều đó, chúng ta cần học cách sử dụng Crontab
Tổng quan về dự án
Trong bài đăng này, chúng tôi sẽ tự động hóa một tập lệnh rất đơn giản để chạy mỗi phút
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]
Tập lệnh Python này sẽ tạo một
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]3 và nối tệp với thời gian khi công việc định kỳ được thực thi
Bạn sẽ cần gì?
Hướng dẫn này giả định rằng bạn đã cài đặt
- MacOS [nếu không, hãy xem hướng dẫn Trình lập lịch tác vụ Windows được liên kết trong phần giới thiệu]
- con trăn
- Trình chỉnh sửa mã [như VScode]
Và rằng bạn có ít nhất kiến thức cơ bản về
- con trăn
- Dòng lệnh
Nếu không, hãy bắt đầu lại từ đầu hướng dẫn Python của tôi
Cách lên lịch tác vụ với Cron
Cron sử dụng các biểu thức lịch trình để biết khi nào bạn muốn thực hiện một tác vụ
Nó có 5 tham số [
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]4] để cho phép bạn chọn khi nào bạn muốn chạy tập lệnh của mình
- phút,
- giờ,
- ngày trong tháng,
- tháng,
- ngày trong tuần
Biểu thức lịch trình CRON
Cách dễ nhất để tạo biểu thức lịch trình crontab là sử dụng crontab. đạo sư
Ngoài ra, đây là một bảng với tất cả các biểu thức phổ biến nhất mà bạn sẽ gặp phải
StringMeaningTương đương vớifrom datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]5một lần khi khởi động hệ thống
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]6một lần mỗi năm
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]7
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]8một lần một tháng
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]9
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]2một lần một tuần
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]31
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]1một ngày một lần
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]33
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]34một ngày một lần vào lúc nửa đêm
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]33
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]36một giờ
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]37một phút_______04một lần mỗi ngày trong tuần
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]39một lần mỗi ngày2 [Chủ nhật, một lần vào một thời điểm cụ thể]. 30] ______ biểu thức lịch trình 220cron
Làm cách nào để lên lịch tập lệnh bằng Cron?
Để lên lịch thực thi tập lệnh python bằng cron, chúng tôi sẽ
- Tạo tập lệnh Python
- Tạo một tệp crontab
- Tạo một bộ lập lịch Python Script
- Viết crontab
Tạo tập lệnh Python
Sử dụng tập lệnh ở trên, tạo tập lệnh Python
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]21 và lưu tập lệnh đó vào vị trí mà bạn có quyền [xem phần Khắc phục sự cố để hiểu lý do]. Trong trường hợp của tôi, tôi đã tạo một thư mục “Tự động hóa” trong đường dẫn
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]22
Tạo công việc định kỳ đầu tiên của bạn trong Crontab
Chúng tôi sẽ tạo và chạy tệp crontab bằng dòng lệnh
Mở thiết bị đầu cuối
Có ba [3] lệnh khả dụng để làm việc với tệp crontab.
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]23 [để hiển thị],
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]0 [để tạo] và
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]25 [để xóa]
Liệt kê crontab hiện tại
Kiểm tra xem bạn đã tạo crontab chưa
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]3
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]26 nghĩa là bạn muốn mở file crontab ở chế độ “list”
Nếu bạn chưa bao giờ tạo crontab trước đây, bạn sẽ nhận được thông báo này.
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]27
Tạo một Crontab mới
Bây giờ, chúng tôi sẽ thêm một công việc mới vào
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]28
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]2
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]29 nghĩa là bạn muốn mở file crontab ở chế độ “chỉnh sửa”
Thao tác này sẽ mở trình soạn thảo vi. Đừng sợ, tôi sẽ hướng dẫn bạn thực hiện
Lệnh Vi Editor
Trước tiên, hãy xem các lệnh bạn có thể sử dụng trong trình soạn thảo vi
iChuyển sang chế độ Chèn [chế độ chỉnh sửa]escThoát khỏi chế độ chỉnh sửaddXóa dòng hiện tạiuHoàn tác thay đổi cuối cùng. q. Đóng trình chỉnh sửa mà không lưu thay đổi. wqLưu văn bản và đóng trình soạn thảo→ +$ * * * * * /usr/bin/python python-script.py40Di chuyển con trỏ nhanh hơn$Chuyển đến cuối dòng
Tạo một bộ lập lịch Python Script
Bây giờ chúng ta sẽ thêm lệnh Python script scheduler vào crontab bằng VI Editor
Cách lên lịch cho tập lệnh Python
Lệnh chúng ta sẽ sử dụng để thực thi tập lệnh python như thế này
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]
4 là biểu thức lịch trình crontab để lên lịch cho tập lệnh chạy mỗi phút;$ * * * * * /usr/bin/python python-script.py
42 là đối số dòng lệnh để cho crontab biết vị trí của tệp thực thi;$ * * * * * /usr/bin/python python-script.py
43 là nơi đặt tập lệnh python của tôi;$ * * * * * /usr/bin/python python-script.py
44 là nơi cài đặt python. Bạn có thể tìm thấy nơi bạn đã cài đặt nó bằng cách sử dụng lệnh$ * * * * * /usr/bin/python python-script.py
45 hoặc$ * * * * * /usr/bin/python python-script.py
46 trong Terminal$ * * * * * /usr/bin/python python-script.py
47 là tên mà tôi đã đặt cho phần chia sẻ kịch bản ở trên
Chạy tự động hóa tập lệnh
Trong trình chỉnh sửa vi
Chuyển sang chế độ Chèn bằng cách nhấn
$ * * * * * /usr/bin/python python-script.py48 để chỉnh sửa tệp
Thêm lệnh để thực thi tập lệnh Python
$ * * * * * /usr/bin/python python-script.py4
Nhấn
$ * * * * * /usr/bin/python python-script.py49 để thoát khỏi chế độ chỉnh sửa
Nhập
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]50 để lưu và thoát khỏi tệp.
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]51 có nghĩa là viết và
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]52 có nghĩa là bỏ
Sau khi viết crontab, bạn sẽ nhận được thông báo này
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]53 cho biết bạn đã tạo crontab
Nếu mọi việc suôn sẻ, bây giờ bạn sẽ có bài kiểm tra. txt trong thư mục của bạn với thời gian được thêm vào mỗi phút [nếu không, hãy xem Khắc phục sự cố]
Tóm tắt lại
Wow, đó là rất nhiều
Nói một cách đơn giản, đây là những gì bạn làm
- Tạo Tập lệnh Python của bạn;
- Mở ga;
- Viết
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]
0 để tạo crontab; - Nhấn
$ * * * * * /usr/bin/python python-script.py
48 để khởi chạy chế độ chỉnh sửa; - Viết lệnh lịch trình
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]
56; - Nhấn
$ * * * * * /usr/bin/python python-script.py
49 để thoát khỏi chế độ chỉnh sửa; - Viết
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]
50 để viết crontab của bạn - Để xóa công việc đang chạy
- Để xóa toàn bộ crontab. Chạy
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]
25 - Để xóa một công việc định kỳ. Đi đến
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]
0, nhấn$ * * * * * /usr/bin/python python-script.py
48, nhấnfrom datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]
72 và nhấnfrom datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]
50 để ghi tệp
- Để xóa toàn bộ crontab. Chạy
Hướng dẫn bổ sung
Xử lý sự cố
Bất cứ khi nào bạn gặp lỗi với một công việc định kỳ, bạn sẽ nhận được một thư trong thiết bị đầu cuối có nội dung “
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]74“. Bạn có thể đọc thư bằng lệnh
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]75. Sử dụng số bên cạnh thư để kiểm tra thông báo lỗi
Nhìn vào thông báo mà bạn nhận được để tìm hiểu về lỗi
Để xóa một tin nhắn, hãy sử dụng
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]76 hoặc để xóa tất cả, hãy sử dụng
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]77. Để thoát thư, hãy sử dụng
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]52
không được phép vận hành
Bạn có thể gặp lỗi “[Errno 1] Thao tác không được phép” trong MacOS khi bạn cố chạy một công việc định kỳ
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]5
Sau đây là cách Fix Lỗi “Operation not allow” trong Terminal cho Mac OS
Bạn sẽ cần cấp quyền truy cập toàn bộ đĩa vào thiết bị đầu cuối và CRON như trong giải pháp này
- Trong menu Apple, chọn
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]
79 >from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]
60 - Chuyển đến
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]
61 ở phía bên trái của bảng điều khiển - Nhấp vào khóa để thực hiện thay đổi
- Nhấp vào dấu Cộng [
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]
62] - Chuyển đến ________ 663 > ________ 664 > ________ 665
- Bấm lại vào dấu [+];
- Nhấn
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]
66 và di chuyển đếnfrom datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]
67 - Khởi động lại máy tính
Quyền bị từ chối
Cron cần quyền truy cập vào vị trí thư mục mà bạn làm việc. Nhiều công ty sẽ hạn chế quyền truy cập vào các vị trí trên màn hình của bạn hoặc sẽ có thư mục
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]68 của bạn trong một máy chủ nội bộ để sao lưu màn hình của bạn
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]7
Đây là cách khắc phục lỗi "Quyền bị từ chối"
Chỉ cần di chuyển tập lệnh của bạn đến đường dẫn người dùng
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]22 để xem liệu bạn có còn gặp lỗi khi chạy tập lệnh từ vị trí đó không
Giết một tác vụ Cron hiện đang chạy
Giả sử bạn đã tạo một tập lệnh Python và chạy nó hàng ngày bằng CRON, nhưng thật không may, một lỗi trong mã của bạn đã tạo ra một vòng lặp vô hạn. Làm thế nào bạn có thể dừng nó mà không tắt máy tính của bạn?
Bạn có thể bắt đầu bằng cách tìm bất kỳ tập lệnh python nào hiện đang chạy. Trong loại Terminal
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]6
Bây giờ, bạn sẽ nhận được một vài dòng có cấu trúc này
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]8
Số đầu tiên bạn nhìn thấy trên mỗi dòng là ID quy trình của bạn. Ở trên tôi có hai PID.
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]80 và
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]81
Nếu tôi muốn tắt tiến trình đầu tiên, tôi sẽ sử dụng dòng này trong Terminal
from datetime import datetime import os def write_file[filename,data]: if os.path.isfile[filename]: with open[filename, 'a'] as f: f.write['\n' + data] else: with open[filename, 'w'] as f: f.write[data] def print_time[]: now = datetime.now[] current_time = now.strftime["%H:%M:%S"] data = "Current Time = " + current_time return data write_file['test.txt' , print_time[]]1
Bảng mã Crontab
crontab -eChỉnh sửa crontabcrontab hiện tại -lHiển thị crontabcrontab hiện tại -rXóa crontabcrontab hiện tại -iXóa crontab với lời nhắc xác nhậncrontab -uHiển thị người dùng có crontab đang được tương tác với pythonTìm đường dẫn tuyệt đối của tệp thực thi PythonSự kết luận
Đó là nó. Bạn đã học cách chạy một công việc định kỳ trên mac để tự động hóa SEO của bạn bằng Python
5/5 - [7 phiếu]
Jean-Christophe Chouinard
Nhà chiến lược SEO tại Tripadvisor, ex-Seek [Melbourne, Úc]. Chuyên về kỹ thuật SEO. Trong nhiệm vụ lập trình SEO cho các tổ chức lớn thông qua việc sử dụng Python, R và máy học