我明白了,我之前写了个shell版本的执行同样任务的程序,放在 root 的crontab 中,运行时间也是相同的,后来觉得有些问题就用python重写了,可能是我忘了注释原先的cron任务。虽然即使如此还是有些疑点,不过就不浪费别人的时间了
我写了个脚本用来在每日凌晨压缩、清理php程序产生的日志,php-fpm 使用 www 用户身份运行,生成日志的属主和属主均为www,脚本也是放在 www 用户的 crontab 中。
但是发现总是在压缩一个文件是抛出异常,说有"PermissionError: [Errno 13] Permission denied",导致余下的日志没有得到处理,奇怪的是这个文件的压缩是正常的,原始文件也被删除了(删除原始文件的代码是在成功创建压缩文件之后执行的)
相关代码如下:
def gzip_compress(filename, keep_original=False):
with open(filename, 'rb') as f_in:
with gzip.open(''.join([filename, '.gz']), 'wb') as f_out:
f_out.writelines(f_in)
if not keep_original:
try:
os.remove(filename)
except PermissionError as e:
print(e)
日志中记录的信息是
compressing /data/www/oms/logs/api/API_2016-04-07_GOODS_MODEL_API.log
<