Hướng dẫn how do i schedule a python script to run daily in ubuntu? - làm cách nào để lên lịch tập lệnh python chạy hàng ngày trong ubuntu?

Câu chuyện này về cơ bản đi qua một ví dụ nhỏ về cách bạn có thể lên lịch hoặc tự động hóa kịch bản Python trong Ubuntu.

Hãy để bắt đầu điều này.

Để đọc và triển khai thêm, hãy đảm bảo rằng bạn cần một hệ điều hành Ubuntu, tập lệnh Python để chạy (hoặc chúng tôi có thể tạo một mẫu và đó là điều đó.Ubuntu operating system, python script to run (or we can make a sample one and that’s it.

Ghi chú

Trong hướng dẫn này, tôi sẽ chứng minh chạy một kịch bản theo lịch trình trong môi trường ảo. Những người không sử dụng môi trường ảo bỏ qua phần đó và

Một số nhiệm vụ trong cuộc sống của chúng tôi thực sự là thời gian và chúng tôi cảm thấy buồn chán khi thực hiện các nhiệm vụ đó nhiều lần. Để tránh những nhiệm vụ nhàm chán, chúng tôi tự động hóa các tác vụ đó trong hệ thống của chúng tôi. Python có nhiều mô -đun tự động hóa có thể được sử dụng để tự động hóa các công cụ của chúng tôi. Dưới đây chúng tôi sẽ thảo luận về tầm quan trọng của tự động hóa và cách tự động hóa các công cụ của chúng tôi bằng Python. Chúng tôi cũng sẽ thảo luận về một số mô -đun tự động hóa trong Python giúp tự động hóa các công cụ của chúng tôi. Sau đó, chúng ta sẽ thấy một số trường hợp sử dụng tự động hóa bằng Python. Cuối cùng, chúng ta sẽ thấy cách chúng ta có thể lên lịch cho tập lệnh Python của mình để chạy tự động khi khởi động.

Tại sao chúng tôi tự động hóa công cụ của mình

Tự động hóa công cụ của chúng tôi có thể làm cho cuộc sống của chúng tôi dễ dàng hơn. Nó có nhiều lợi thế nhưng một số lợi thế quan trọng của tự động hóa được đưa ra dưới đây

  • Ưu điểm đầu tiên và quan trọng nhất của tự động hóa là tiết kiệm thời gian.
  • Chúng tôi có thể tăng hiệu quả của công việc của mình (tức là nhiều công việc hơn trong thời gian ngắn hơn)
  • Độ chính xác của các nhiệm vụ được lên lịch có thể được cải thiện.
  • Bằng cách tự động hóa các công cụ, sự tương tác của con người với hệ thống được giảm xuống nên công cụ nhàm chán được tự động hóa.

Tự động hóa với Python

Có một số ngôn ngữ kịch bản như Bash, Perl, v.v. để tự động hóa các quy trình thủ công nhưng Python cung cấp môi trường khả thi để xử lý nhu cầu của chúng tôi. Nó dễ dàng hơn để tự động hóa các thứ bằng ngôn ngữ lập trình Python hơn bất kỳ ngôn ngữ nào khác. Python có nhiều mô -đun tự động hóa (tức là quá trình phụ, SHOWIL, OS, PYAUTOGUI, SELENIUM, v.v.) có thể được sử dụng trong tự động hóa. Chúng tôi sẽ thấy một số trường hợp sử dụng về cách chúng tôi tự động hóa công cụ của mình.subprocess, shutil, os, pyautogui, selenium etc.) that can be used in automation. We will see some use cases of how we automate our stuff.

Các mô -đun tự động hóa trong Python

Ở đây chúng tôi sẽ thảo luận về một số mô -đun tự động hóa trong Python như HĐH, quy trình con, Shutil, DateTime, Selenium, v.v ... Các mô -đun này được sử dụng để thực thi các lệnh hệ thống và cũng có thể được sử dụng để thao túng các thư mục hệ thống. Các mô -đun này đã được xây dựng trong các chức năng giúp thực hiện các tác vụ trên hệ thống dễ dàng hơn.OS, SUBPROCESS, SHUTIL, DATETIME, SELENIUM etc. These modules are used to execute system commands and can also be used to manipulate system directories. These modules have built in functions which make it easier to perform tasks on system.

Các mô -đun OS và quy trình phụ được sử dụng cho mục đích gần như giống nhau. Một số chức năng tích hợp của các mô -đun này được đưa ra dưới đây and SUBPROCESS modules are used for almost the same purpose. Some of the builtin functions of these modules are given below

  • chdir () \\ để thay đổi thư mụcTo Change directory
  • mkdir () \\ để tạo thư mục mớiTo Create new directory
  • đổi tên () \\ để đổi tên một tệpTo rename a file
  • listDir () \\ để liệt kê tất cả các tệp và thư mụcTo list all files and directories
  • getcwd () \\ để biết thư mục hiện tại của chúng tôiTo know our current directory
  • System () \\ để chạy các lệnh hệ thốngTo run system commands
  • call () \\ để chạy các lệnh hệ thốngTo run system commands

Tương tự mô -đun SHOTIL có nhiều chức năng cho phép tương tác với hệ thống. Một số chức năng của mô -đun này được đưa ra dưới đâySHUTIL module has many functions which allows to interact with system. Some functions of this module are given below

  • di chuyển () \\ để di chuyển một tệpTo move a file
  • sao chép () \\ để sao chép một tệpTo copy a file
  • rmtree () \\ Để xóa tất cả các tệp trong thư mục và thư mục conTo remove all files in Directory and subdirectories

Mô -đun DateTime được sử dụng để tìm ngày và giờ hiện tại. Nó cũng được sử dụng để tìm ngày trong tuần và nhiều thứ khác. Chúng tôi có thể lên lịch nhiệm vụ của mình bất cứ lúc nào và ngày sử dụng mô -đun này. Trong các trường hợp sử dụng sau đây, chúng tôi sẽ sử dụng nó để chỉ tìm ngày và giờ hiện tại. module is used to find the current date and time. It is also used to find week day and many other things. We can schedule our task at any time and date using this module. In the following use cases we will use it to find only current date and time.

  • datetime.today () \\ để tìm ngày và giờ hiện tạiTo find current date and Time

Mô -đun Selenium được sử dụng để tự động hóa việc đăng nhập trang web của chúng tôi trong quá trình. Chúng tôi có thể tự động đăng nhập vào trang web của mình và cập nhật nó bằng mô -đun Selenium. Selenium có nhiều chức năng tích hợp được sử dụng để thực hiện các tác vụ khác nhau liên quan đến trình duyệt.Module is used to automate our website logging in process. We can automatically log into our website and update it using SELENIUM module. SELENIUM has many builtin functions which are used to perform different tasks related to browsers.

Cách thực thi các lệnh hệ thống trong Python

Chúng ta có thể chạy các lệnh hệ thống trong Python bằng các mô -đun OS và quy trình con. Sau đây là cú pháp để chạy lệnh hệ thống trong PythonOS and SUBPROCESS modules. Following is the syntax to run system command in python

HOẶC

SubProcess.Call (‘Command,).call(‘command’)

Ví dụ: nếu chúng tôi muốn liệt kê tất cả các tệp và thư mục trong thư mục hiện tại, chúng tôi sẽ chạy lệnh sau trong tập lệnh Python

HOẶC

SubProcess.Call (‘Command,)

Ví dụ: nếu chúng tôi muốn liệt kê tất cả các tệp và thư mục trong thư mục hiện tại, chúng tôi sẽ chạy lệnh sau trong tập lệnh Python

Cách tự động hóa công cụ với Python

Python có thể được sử dụng để tự động hóa nhiều loại nhiệm vụ hàng ngày có thể tiết kiệm thời gian. Ở đây chúng tôi sẽ thấy một số trường hợp sử dụng tự động hóa công cụ của chúng tôi. Chúng tôi sẽ thảo luận về việc sắp xếp các tệp trong thư mục tải xuống và lưu giữ bản sao lưu các tệp quan trọng của chúng tôi.

importosimportshutilimportdatetimewhile1: os
import shutil
import datetime
while 1:

Sắp xếp các tệp trong thư mục tải xuống#calculating current hour, minute and second
   today = datetime.datetime.today()
   today = str(today)
   current_hour = today[11:13]
   current_minute = today[14:16]
   current_sec = today[17:19]

Khi chúng tôi tải xuống bất kỳ loại tệp nào, theo mặc định, nó sẽ chuyển vào thư mục tải xuống. Khi chúng ta phải tìm bất kỳ tệp nào thì nó có thể gây ra vấn đề vì có nhiều loại tệp được trộn trong thư mục tải xuống. Bây giờ chúng tôi sẽ viết một tập lệnh Python để tự động hóa hệ thống theo cách mà các loại tệp khác nhau (ví dụ: MP3, PNG, XLS, v.v.) đi vào các thư mục khác nhau. Mã hoàn chỉnh được đưa ra dưới đây. Mã này sẽ kiểm tra từng loại tệp một sau đó nó sẽ tạo thư mục tương ứng. Sau đó, nó sẽ chuyển tệp vào các thư mục liên quan (ví dụ: tệp .mp3 sẽ đi vào thư mục Audio Audio).# making sure that system will arrange files at 08:00
   if current_hour == '08' and current_minute == '00' and current_sec == '00':

& nbsp; & nbsp; #calculating giờ hiện tại, phút và thứ hai & nbsp; & nbsp; hôm nay = datetime.dateTime.today () & nbsp; & nbsp; hôm nay = str (hôm nay) & nbsp; & nbsp; current_hour = ngày nay [11:13] & nbsp; & nbsp; current_minute = ngày nay [14:16] & nbsp; & nbsp; current_sec = hôm nay [17:19]# changing directory to download
       os.chdir("path_to_Download_directory")
       # saving all file names in a list
       files = os.listdir(os.getcwd())

& nbsp; & nbsp;# Đảm bảo rằng hệ thống sẽ sắp xếp các tệp tại 08:00 & nbsp; & nbsp; nếu current_hour == '08'and current_minute ==' 00'and current_sec == '00':for filename in files:
           # ignoring directories
           if not os.path.isdir(filename):

& nbsp; & nbsp; & nbsp; & nbsp;# thay đổi thư mục thành tải xuống & nbsp; & nbsp; & nbsp; & nbsp; os.chdir ("path_to_doad_directory") & nbsp; & nbsp; & nbsp; & nbsp;# Lưu tất cả các tên tệp trong danh sách & nbsp; & nbsp; & nbsp; & nbsp; files = os.listdir (os.getcwd ())# selecting mp3 files
               if '.mp3' in filename:
                   # creating 'Audio' directory if not exist
                   if not os.path.exists('Audio'):
                       os.mkdir('Audio')
                   # moving file in 'Audio' directory
                   shutil.move(filename, 'Audio')

& nbsp; & nbsp; & nbsp; & nbsp; cho tên tệp trong các tệp: & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;# bỏ qua các thư mục & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ifnotos.path.isdir (tên tệp):# selecting mp4 files
               elif '.mp4' in filename:
                   # creating 'Video' directory if not exist
                   if not os.path.exists('Video'):
                       os.mkdir('Video')
                   # moving file in 'Video' directory
                   shutil.move(filename, 'Video')

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;# chọn tệp MP3 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; if'.mp3'in FileName: & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;# Tạo thư mục 'âm thanh' nếu không tồn tại & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ifnotos.path.exists ('âm thanh'): & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; os.mkdir ('âm thanh') & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;# di chuyển tệp trong thư mục 'âm thanh' & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; swutil.move (tên tệp, 'âm thanh'))# selecting pdf files
               elif '.pdf' in filename:
                   # creating 'PDF' directory if not exist
                   if not os.path.exists('PDF'):
                       os.mkdir('PDF')
                   # moving file in PDF directory
                   shutil.move(filename, 'PDF')

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;# chọn tệp jpg và png & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; elif'.jpg'in fileName hoặc'.png'in fileName: & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;# Tạo thư mục 'hình ảnh' nếu không tồn tại & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ifnotos.path.exists ('hình ảnh'): & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; os.mkdir ('hình ảnh') & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;# di chuyển tệp trong thư mục 'hình ảnh' & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; swutil.move (tên tệp, 'hình ảnh')# selecting jpg and png files
               elif '.jpg' in filename or '.png' in filename:
                   # creating 'Pictures' directory if not exist
                   if not os.path.exists('Pictures'):
                       os.mkdir('Pictures')
                   # moving file in 'Pictures' directory
                   shutil.move(filename, 'Pictures')

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;# chọn tệp excel & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; elif'.xls'in fileName: & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # Tạo thư mục 'Excel' nếu không tồn tại & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ifnotos.path.exists ('excel'): & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; os.mkdir ('excel') & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;# di chuyển tệp trong thư mục 'excel' & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; swutil.move (tên tệp, 'excel'))# selecting excel files
               elif '.xls' in filename:
                    # creating 'Excel' directory if not exists
                   if not os.path.exists('Excel'):
                       os.mkdir('Excel')
                   # moving file in 'Excel' directory
                   shutil.move(filename, 'Excel')

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;# chọn tệp '.ppt' & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; elif'.ppt'in fileName: & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;# Tạo thư mục 'Power Point' nếu không tồn tại & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ifnotos.path.exists ('điểm sức mạnh'): & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; os.mkdir ('điểm sức mạnh') & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;# di chuyển tệp trong thư mục 'Power Point' & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; swutil.move (tên tệp, 'điểm sức mạnh'))# selecting '.ppt' files
               elif '.ppt' in filename:
                   # creating 'Power Point' directory if not exists
                   if not os.path.exists('Power Point'):
                       os.mkdir('Power Point')
                   # moving file in 'Power Point' directory
                   shutil.move(filename, 'Power Point')

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;# chọn '.docs' files & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; elif'.docx'in fileName: & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;# Tạo thư mục 'Tệp từ' nếu không tồn tại & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ifnotos.path.exists ('tệp từ'): & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; os.mkdir ('tệp từ') & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;# di chuyển tệp trong thư mục 'Tệp từ' & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; swutil.move (tên tệp, 'tệp word'))# selecting '.docs' files
               elif '.docx' in filename:
                   # creating 'Word File' directory if not exists
                   if not os.path.exists('Word File'):
                       os.mkdir('Word File')
                   # moving file in 'Word File' directory
                   shutil.move(filename, 'Word File')

Trước hết, chúng tôi sẽ lưu thời gian hiện tại trong các biến khác nhau thì chúng tôi sẽ kiểm tra xem thời gian có chính xác không ‘08: 00 hay không. Chương trình sẽ kiểm tra thời gian mỗi ngày và sẽ chạy mã nếu thời gian là ‘08: 00, thì mã chính sẽ chạy. Trong mã chính, trước hết chúng tôi thay đổi thư mục của chúng tôi để tải xuống thư mục. Ở đây chúng tôi sẽ lưu tất cả các tên tệp trong một danh sách các tệp có tên. Bây giờ chúng tôi sẽ đọc tất cả các tệp từng cái một và chỉ lọc các tệp. Chúng tôi sẽ bỏ qua các thư mục vì chúng tôi sẽ chỉ sắp xếp các tệp.

Bây giờ chúng tôi sẽ kiểm tra từng loại tệp cho dù đó là MP3, MP4, JPG, PDF, XLS, PPT và DOCX hay không. Sau khi kiểm tra từng loại tệp, chúng tôi sẽ kiểm tra xem thư mục tương ứng có tồn tại hay không. Ví dụ: nếu tệp là MP3 thì chúng ta sẽ kiểm tra thư mục Audio có tồn tại hay không. Nếu thư mục tương ứng không tồn tại, chúng tôi sẽ tạo thư mục. Sau khi tạo thư mục, chúng tôi sẽ di chuyển tệp của chúng tôi trong thư mục đó. Theo cách này, tất cả các tập tin có thể được chuyển sang các thư mục tương ứng của chúng.

Mã này sẽ chạy liên tục và tiếp tục kiểm tra xem thời gian là ‘08: 00 hay không. Mỗi ngày tại ‘08: 00, các tệp sẽ được sắp xếp tự động. Mã này có thể được lên lịch để chạy mỗi lần khi bạn bắt đầu hệ thống của mình bằng Crontab. Crontab đã được giải thích dưới đây.

Tự động sao lưu các tệp của bạn bằng các lệnh hệ thống

Bạn có một số tệp quan trọng trong một thư mục liên quan đến dự án của bạn và bằng cách nào đó, một số tệp bị xóa. Sau đó bạn sẽ làm gì? Trong loại tình huống này, việc tạo bản sao lưu các tệp của bạn là quan trọng. Nhưng việc tạo bản sao lưu các tập tin của bạn thực sự nhàm chán và làm nhiệm vụ thời gian. Nhiệm vụ này có thể được thực hiện tự động bằng cách viết một tập lệnh Python. Sau đây là mã để thực hiện nhiệm vụ này. Mã này sẽ chuyển đổi mọi tệp thành tệp zip sau đó nó sẽ tạo thư mục sao lưu nếu không tồn tại. Sau đó, tệp ZIP sẽ được di chuyển trong thư mục sao lưu.

IntertinosimportDateTime WHILE1: & NBSP; & nbsp; # Tiết kiệm thời gian hiện tại & nbsp; & nbsp; ngày nay = dateTime.dateTime.today () & nbsp; & nbsp; hôm nay = str (ngày nay) & nbsp; & nbsp; current_hour = hôm nay [11:13] & nbsp; & nbsp; current_minute = ngày nay [14:16] & nbsp; & nbsp; current_sec = hôm nay [17:19] os
import datetime
while 1:
    # saving current time
    today = datetime.datetime.today()
    today= str(today)
    current_hour = today[11:13]
    current_minute = today[14:16]
    current_sec = today[17:19]

& nbsp; & nbsp; # Đảm bảo mã sẽ chạy ở chính xác '08: 00 '& nbsp; & nbsp; Nếu current_hour == '08'and current_minute ==' 00'and current_sec == '00': & nbsp; & nbsp; & nbsp; & nbsp; # thay đổi thư mục thành tài liệu & nbsp; & nbsp; & nbsp; & nbsp; os.chdir ('path_to_document_directory') & nbsp; & nbsp; & nbsp; & nbsp; # Lưu tất cả các tên tệp trong danh sách & nbsp; & nbsp; & nbsp; & nbsp; tập tin = os.listdir (os.getcwd ()) & nbsp; & nbsp; & nbsp; & nbsp; # Tạo thư mục 'Sao lưu' nếu không tồn tại & nbsp; & nbsp; & nbsp; & nbsp; ifnotos.path.exists ('sao lưu'): & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; os.mkdir ('sao lưu')# making sure code will run at exact '08:00'
    if current_hour == '08' and current_minute == '00' and current_sec == '00':
        # changing directory to documents
        os.chdir('path_to_documents_directory')
        # saving all file names in a list
        files = os.listdir(os.getcwd())
        # creating 'backup' directory if not exist
        if not os.path.exists('backup'):
            os.mkdir('backup')

& nbsp; & nbsp; & nbsp; & nbsp; Các tệp Forfilein:for file in files:

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # bỏ qua các thư mục & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ifnotos.path.isdir (tệp): & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # Xác định tên tệp không có khoảng trắng & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; gốc_name = file & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; file = file.split ("") & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; file_name = "". Tham gia (tệp) & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # Xác định zip_filename & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; zip_file_name = file_name+". Zip"# ignoring directories
            if not os.path.isdir(file):
                # defining a filename without spaces
                original_name = file
                file = file.split(" ")
                file_name = "".join(file)
                # defining zip_filename
                zip_file_name = file_name+".zip"

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # Kiểm tra xem tệp có tồn tại trong thư mục sao lưu hay không & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ifnotos.path.exists ('sao lưu/'+zip_file_name): & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # Thay đổi tên tệp không có khoảng trắng & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; os.rename (gốc_name, file_name) & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # Tạo tệp zip bằng lệnh hệ thống & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Os.System ("Zip"+zip_file_name+""+file_name) & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; #Moving tệp zip trong thư mục sao lưu bằng lệnh hệ thống & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Os.System ("MV"+ZIP_FILE_NAME+"BACKUP") & NBSP; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; # Thay đổi tên tệp thành tên gốc & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Os.rename (File_Name, Original_Name)# checking if file already exist in backup directory or not
                if not os.path.exists('backup/'+zip_file_name):
                    # changing file name without spaces
                    os.rename(original_name, file_name)
                    # creating zip file using system command
                    os.system("zip "+zip_file_name+" "+file_name)
                    #moving zip file in backup directory using system command
                    os.system("mv "+zip_file_name+" backup")
                    # changing filename to its original name
                    os.rename(file_name, original_name)

Trước hết, chúng tôi sẽ tiết kiệm thời gian hiện tại trong các biến và sau đó chúng tôi sẽ kiểm tra xem thời gian là ‘08: 00 hay không. Nếu thời gian là chính xác ‘08: 00, thì tập lệnh chính sẽ chạy. Trong mã chính, trước hết, chúng tôi đi đến thư mục trong đó các tệp quan trọng có mặt. Sau đó, chúng tôi lưu tất cả các tên tệp trong một danh sách. Bây giờ chúng tôi sẽ tạo một thư mục ‘bản sao lưu, trong đó chúng tôi sẽ lưu tất cả các tệp zip. Nếu thư mục này đã tồn tại thì chúng ta sẽ bỏ qua điều này. Bây giờ chúng tôi sẽ đọc từng tệp và kiểm tra xem đây có phải là tệp hay không. Các thư mục sẽ bị bỏ qua và các tập tin sẽ được xem xét.

Để tạo tệp zip của một tệp bằng lệnh hệ thống, trước hết, chúng tôi sẽ đổi tên tệp này mà không có khoảng trắng như tên tệp với khoảng trắng được coi là một tệp khác ở mỗi không gian, khi chạy vào lệnh hệ thống bằng tập lệnh Python. Tên của tệp được lưu trong một biến ‘gốc_filename, và tệp được đổi tên mà không có khoảng trắng. Bây giờ chúng tôi sẽ xác định tên tệp zip giống như tên tệp với phần mở rộng ‘.zip.

Sau đó, chúng tôi sẽ sử dụng lệnh hệ thống ‘zip, để zip tệp này và sau đó chúng tôi sẽ di chuyển tệp zip này trong thư mục‘ sao lưu, bằng lệnh hệ thống ‘MV. Sau đó, chúng tôi sẽ một lần nữa đổi tên tệp với tên ban đầu của nó với khoảng trống trong đó. Mã này sẽ được lên lịch trên hệ thống để tự động chạy mỗi lần khi bạn khởi động hệ thống của mình bằng Crontab.

Tự động chạy tập lệnh bằng crontab

Chúng tôi đã viết các tập lệnh tự động hóa ở trên. Bây giờ chúng tôi muốn tự động chạy các tập lệnh này bất cứ khi nào hệ thống của chúng tôi khởi động lại. Để làm như vậy, chúng tôi thêm tập lệnh của chúng tôi trong Crontab. Để thêm nhiệm vụ trong crontab, hãy thực hiện các bước sau

Trước hết, hãy nhập lệnh sau để chỉnh sửa tệp crontab

ubuntu@ubuntu: ~ $ crontab -e@ubuntu:~$ crontab -e

-E cờ có nghĩa là mở crontab trong chế độ chỉnh sửa. Sau khi mở tệp crontab, chúng tôi sẽ thêm tác vụ của mình vào tệp này bằng lệnh sau tại & nbsp; phần cuối của tập tin

@Reboot python/path/to/python/scriptreboot python /path/to/python/script

Điều này sẽ tự động chạy tập lệnh Python mỗi khi bạn khởi động hệ thống của mình.

Sự kết luận

Trong bài viết này, tầm quan trọng của tự động hóa trong cuộc sống thực tế đã được giải thích. Bằng cách đọc bài viết này, bạn có một ý tưởng rằng làm thế nào bạn có thể tự động hóa các nhiệm vụ đơn giản mà bạn làm mỗi ngày. Bạn chắc chắn nên tìm kiếm thêm các thư viện và chức năng Python để tự động hóa tốt hơn và dễ dàng.

Thông tin về các Tác giả

Hướng dẫn how do i schedule a python script to run daily in ubuntu? - làm cách nào để lên lịch tập lệnh python chạy hàng ngày trong ubuntu?

Một người đam mê an ninh yêu thích thiết bị đầu cuối và nguồn mở. Lĩnh vực chuyên môn của tôi là Python, Linux (Debian), Bash, kiểm tra thâm nhập và tường lửa. Tôi đã sinh ra và lớn lên ở Wazirabad, Pakistan và hiện đang thực hiện đại học từ Đại học Khoa học và Công nghệ Quốc gia (NUST). Trên Twitter tôi đi theo @usamaazad14

Làm cách nào để thực hiện một tập lệnh Python tự động chạy hàng ngày?

Bấm đúp vào Trình lập lịch tác vụ, sau đó chọn tùy chọn để 'Tạo nhiệm vụ cơ bản' Nhập tên cho tác vụ của bạn (bạn cũng có thể nhập mô tả nếu cần), sau đó nhấn tiếp theo.Chẳng hạn, hãy đặt tên cho nhiệm vụ là: Chạy Hello World.Chọn để bắt đầu nhiệm vụ 'hàng ngày' vì chúng tôi muốn chạy kịch bản Python hàng ngày lúc 6 giờ sáng. Type a name for your task (you can also type a description if needed), and then press Next. For instance, let's name the task as: Run Hello World. Choose to start the task 'Daily' since we wish to run the Python script daily at 6am.

Làm cách nào để lên lịch một tập lệnh trong Linux?

Trong Linux, Cron Daemon chạy các nhiệm vụ trong nền vào thời điểm được chỉ định.Để lên lịch một tác vụ bằng Cron, bạn cần chỉnh sửa một tệp đặc biệt có tên là tệp crontab trong trình chỉnh sửa văn bản và thêm tác vụ của bạn vào đó theo một định dạng cụ thể.Sau đó, Cron sẽ chạy nhiệm vụ cho bạn tại thời điểm bạn chỉ định trong tệp crontab.edit a special file called the crontab file in a text editor and add your task in it in a particular format. Then cron will run the task for you at the time you specify in the crontab file.

Làm cách nào để chạy tập lệnh Python cứ sau 5 phút?

Với sự trợ giúp của mô -đun lịch trình, chúng ta có thể tạo một tập lệnh Python sẽ được thực thi trong mỗi khoảng thời gian cụ thể nhất định.với lịch trình chức năng này. Mọi người (5) .minutes.do (FUNC) sẽ gọi cứ sau 5 phút.schedule. every(5). minutes.do(func) function will call every 5 minutes.