回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我的python脚本没有在Crontab下运行。但当我试着从终端运行时,它运行得非常好。我把它放在python脚本的顶部:</p>
<pre><code>#!/usr/bin/python
</code></pre>
<p>我也试过:</p>
^{pr2}$
<p>我执行了我的文件可执行文件:</p>
<pre><code>chmod a+x vida.py
</code></pre>
<p>添加到我的crontab并添加了路径:</p>
<pre><code>USER=gg
SHELL=/bin/sh
PATH=/usr/local/sbin/:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin/:/home/gg/DC.bin/:/home/gg/GNSSMET/DC/:usr/bin:/usr/bin/X11:/:/home/gg/GNSSMET/DC/bin/:/home/gg/:/usr/lib/python2.7/:
PYTHONPATH=/usr/bin/:/usr/lib/python2.7/
*/1 * * * * gg /usr/bin/python /home/gg/vida.py 2>&1 >>/home/gg/out1.txt
</code></pre>
<p>我通过<code>grep CRON /var/log/syslog</code>查看了日志</p>
<pre><code>Jan 19 13:37:01 gg-pc CRON[26500]: (gg) CMD ( /usr/bin/python /home/gg/vida.py 2>&1 >>/home/gg/out1.txt)
</code></pre>
<p>我甚至使用crontab运行了一个虚拟的python脚本,它的工作方式很像charm(简单的Hello,World!)。但是当涉及到我的脚本时,输出文件<code>out1.txt</code>被创建(为空),但不运行实际的脚本。我甚至检查了StackOverflow上提供的所有解决方案,但没有一个有效。
下面是我的python脚本:</p>
<pre><code>#!/usr/bin/env python
from datetime import *
import os
import sys
gamitRinexDir = '/home/gg/GAMIT/rinex'
stalist = ['ankr','argi','aut1','beug','brst','bucu','busk','ganm','gism','glsv','gmlk','gope','hofn','ingl','ista','joze',
'kiru','krcy','ktvl','mas1','mate','mets','mkps','morp','nico','onsa','orhn','orid','pdel','penc','polv','pots','puyv',
'sofi','vis0','vlns','wtzr','yebe','zeck','zimm']
letlist = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X']
seslist = ['0','1','2','3','4','5','6','7','8','9']
tnow = datetime.now()
dback = timedelta(hours=2)
tnow = tnow -dback
wlength = 4
os.system('rm ' + gamitRinexDir + '/*')
wlett = []
updir = []
doylist = []
yrlist = []
for i in range(wlength):
delta = timedelta(hours=i+1)
tback = tnow -delta
wlett.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(letlist[tback.hour])
doystr = 'doy ' + str(tnow.year) + ' ' + str(tnow.month) + ' ' + str(tnow.day) + ' ' + '> /home/gg/sil.sil'
os.system(doystr)
fid = open('/home/gg/sil.sil')
line = fid.readline().split()
doynum = '%03d' % (int(line[5]))
x = str(tnow.year)
yrnum = x[2:4]
updir.append(yrnum+doynum)
doylist.append(doynum)
yrlist.append(yrnum)
dirname = '/home/gg/REPO/nrtdata/'
for i in range(len(wlett)):
adirname = dirname + updir[i]+'/' + wlett[i]
for sta in stalist:
fname = adirname + '/' + sta + doylist[i] + wlett[i].lower() + '.' + yrlist[i]+'d.Z'
fname2 = gamitRinexDir + '/' + sta + doylist[i] + seslist[i] + '.' + yrlist[i]+'d.Z'
os.system('cp ' + fname + ' ' + fname2)
udoy = list(set(doylist))
dcmd = ''
for gun in udoy:
dcmd = dcmd + gun + ' '
CmdGamit = 'sh_gamit -d ' + x + ' ' + dcmd + ' ' + '-orbit IGSU -expt expt -eops usnd -gnss G -nopngs -metutil Z'
print(CmdGamit)
mainCmd = 'cd /home/gg/GAMIT/;'+CmdGamit
os.system(mainCmd)
filestocopy1 = 'met_*'
filestocopy2 = 'hexpta.*'
filestocopy3 = 'uexpt*'
ndirname = ' /home/gg/REPO_GAMIT/' + doynum + '_'+ wlett[-1]
os.system('mkdir ' + ndirname)
cleancmd1 = 'mv /home/gg/GAMIT/'+doynum +'/'+filestocopy1 + ' ' + ndirname
cleancmd2 = 'mv /home/gg/GAMIT/'+doynum +'/'+filestocopy2 + ' ' + ndirname
cleancmd3 = 'mv /home/gg/GAMIT/'+doynum +'/'+filestocopy3 + ' ' + ndirname
cleancmd4 = 'rm -r /home/gg/GAMIT/'+doynum
os.system(cleancmd1)
os.system(cleancmd2)
os.system(cleancmd3)
os.system(cleancmd4)
</code></pre>
<p>请给我指点迷津,我被困在这里了。在</p>