1 Câu hỏi: Làm cách nào tôi có thể thực thi tập lệnh python trong /etc/cron.hourly?

câu hỏi được tạo ra tại Wed, May 8, 2019 12:00 AM

Tôi luôn viết các tập lệnh shell trong lunux nếu tôi muốn chúng được chạy tự động trong /etc/cron.hourly. Tôi có tập lệnh python sau (được thiết kế cho python 3.6, nhưng phiên bản python mặc định trên máy chủ của tôi là 2) mà tôi muốn được thực thi trong /etc/cron.hourly và không phải crontab. Làm thế nào tôi có thể đạt được điều này?

"Perform automated database backups using xtrabackup"

import os

location='/opt/mysql/backups/daily'
with open('/authentication/account.txt') as f:
    mylist = f.read().splitlines()

username = mylist[0]
password = mylist[1]
hostname = mylist[2]

os.system(f"innobackupex --user={username} --password={password} -- 
host=localhost {location} >/dev/null 2>&1")

# Delete backup folders older than 3 days
os.system(f"find {location} -type d -ctime +7 | xargs rm -rf")

Nếu điều này là có thể, làm thế nào tôi có thể đảm bảo rằng cron.hourly đang sử dụng python3.6 sau khi tôi cài đặt phiên bản này thay vì python 2 mặc định?

    
0
1 Câu trả lời                              1                         

Tạo tập lệnh shell mới và đặt nó vào thư mục /etc/cron.hourly.

Shell script sẽ trông như thế này.

#!/bin/bash

python3.6 complete_path_of_your_script.py

Lệnh python3.6 đảm bảo rằng tập lệnh của bạn chạy với phiên bản 3.6 (nếu python 3.6 đã được cài đặt trong máy chủ của bạn)

Để bạn tham khảo - https://askubfox.com/questions/7676/feft-of -etc-cron-giờ

    
0
2019-05-08 05: 43: 05Z
  1. hoặc đặt #!/usr/bin/env pythonat trước tập lệnh python của bạn và đảm bảo rằng python nằm trong PATH của bạn
    2019-05-08 05: 47: 30Z
nguồn đặt đây