Назад | Перейти на главную страницу

не может получить доступ к файлу .log в Ubuntu

соответствующие части скрипта Python, который создает / записывает файлы журнала

def kill(fullpath,typ):
    #add check to assure .recycle!!!!
    if any(check for check in requiredChecks if check in fullpath) and typ=='file':
            os.remove(fullpath)
            logFile.write('file -- ' + fullpath + '\n')
    return

curDate = datetime.datetime.now()
logName = '/home/user/backupLogs/recycleBin_'+curDate.strftime('%Y-%m-%d')+'.log '
logFile = ''
if not os.path.exists(logName):
    logFile = open(logName,'w') #log file doesn't exist, create it and  open in write mode
else:
    logFile = open(logName, 'a') #log file exists, create it and open in append mode
    logFile.write(curDate.isoformat() + '\n')

kill("/some/file/path.foo","file")

logFile.close()

этот скрипт - это cron, который ежедневно выполняется root: root. Файл .log каждого дня имеет разный размер, поэтому он успешно записывается.

Но я не могу просмотреть файл!

administrator@server1: sudo su
root@server1: vi /home/user/backupLogs/recycleBin_2015-06-03.log

vim просто открывает пустой файл и внизу говорит [новый файл]. Я дважды и трижды проверил, существует ли файл.

Что здесь происходит?

У вас есть лишний пробел в объявлении logName! Добавить \ к имени файла, чтобы открыть его с помощью vi. И избавьтесь от лишнего пробела в объявлении имени файла;)

Изменить: это обратная косая черта и пробел