Python记录器文件权限

时间:2018-11-26 03:51:34

标签: python logging

Ubuntu服务器16.04.5 LTS

我有一个使用以下代码创建日志文件的python脚本:

today = datetime.today()
datem = datetime(today.year, today.month, today.day)
logger = logging.getLogger('processImport')
hdlr = logging.FileHandler('{0}myLog_{1}-{2}-{3}.log'.format(myLogFileLocation, datem.year, datem.month, datem.day))
formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
hdlr.setFormatter(formatter)
logger.addHandler(hdlr) 
logger.setLevel(logging.INFO)

使用以下命令保存日志条目:

logger.info(logMessage)

然后我有一个cron作业,它通过执行使用os.remove(fullFilePath)删除该文件的python文件,在一段时间后删除较旧的日志文件。

但是,执行此cron作业时出现权限错误。

OSError: [Errno 13] Permission denied: PathToTheFile\theLogFileName.log

当我检查文件的权限时,它们设置为:

-rw-r--r-- 1 www-data www-data etc etc

我该怎么做才能使cron作业有权删除日志文件?

谢谢。

1 个答案:

答案 0 :(得分:2)

该文件夹似乎具有写问题权限。更改权限应该会有所帮助。

尝试一下:

log_dir = '/abs/path/of/directory'
os.chmod(log_dir, 0777)

让我知道怎么回事。