无法使Crontab正常工作

Cra*_*aig 5 python linux crontab

我一直在尝试让crontab工作一段时间,但它似乎并不想工作。我需要在每个午夜初始化的python脚本可以从命令终端完美地工作。我的python脚本的位置是:

/home/rv/ncbi-blast-2.2.23+/database_backup/backup.py

我的contab看起来像这样:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/home/rv/ncbi-blast-2.2.23+/database_backup
MAILTO=root
HOME=/
# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  *  command to be executed
0 0 * * * /usr/bin/python /home/rv/ncbi-blast-2.2.23+/database_backup/backup.py
Run Code Online (Sandbox Code Playgroud)

我的python脚本如下所示:

#!/usr/bin/python

from subprocess import Popen
import datetime

today = datetime.date.today()

today = str(today)

#print today

f = open("/home/rv/ncbi-blast-2.2.23+/database_backup/%s.sql" % (today), "w")
x =  Popen(["mysqldump", "-u", "root", "-p*****", "normalisation"], stdout = f)
x.wait()
f.close()
Run Code Online (Sandbox Code Playgroud)

知道我哪里出错了吗?


只是看了cron日志,每次尝试输入时我都会得到这个

(root) BAD FILE MODE (/etc/crontab)
Run Code Online (Sandbox Code Playgroud)

当我尝试使用Shell脚本时也遇到了相同的错误

unu*_*tbu 1

也许不使用 Python,而是制作一个 bash 脚本:

mysql_backup.sh

#!/bin/bash
/PATH/TO/mysqldump -u root -p***** normalisation > /SOMEOTHER/PATH/TO/$(date '+%Y-%m-%d').sql
Run Code Online (Sandbox Code Playgroud)

并将其放入您的 crontab 中:

0 0 * * * /PATH/TO/mysql_backup.sh 
Run Code Online (Sandbox Code Playgroud)