2017-05-30 35 views
-2

我正在嘗試創建一個CronJob,它正在創建一個文件並向其中寫入一些字符串。代碼在正常運行代碼運行時工作。當代碼本身在作爲Cronjob運行時執行(我選中了/ var/log/syslog並讓它打印一些東西,用「fmt.Print(」some string「)) 問題是我想創建的文件沒有創建在執行的cronjob時(我在我的服務器根如此「crontab -e命令」應該有足夠的權限,不應該嗎?)代碼不會在CronJob中運行時創建文件

代碼:

package main 

import (
    "os" 
    "path/filepath" 
    "fmt" 
    "github.com/Sirupsen/logrus" 

func main() { 

absPath, err := filepath.Abs("loggy.txt") 
if err != nil { 
    fmt.Print("Error\n") 
} 


file, err := os.OpenFile(absPath, os.O_RDWR | os.O_CREATE | os.O_APPEND, 0666) 
if err != nil { 
    fmt.Print("Error\n") 
} 


var loggy logrus.Logger 
loggy.Out = file 
loggy.Level = logrus.DebugLevel 
formatter := &logrus.TextFormatter{} 
formatter.ForceColors = true 
formatter.FullTimestamp = true 
loggy.Formatter = formatter 

loggy.Warn("Test") 

} 

crontab -e:

*/01 * * * * /root/PathToFile/CronJob/./CronJob 

任何幫助表示讚賞

+2

你怎麼知道該文件並未創建其他方式執行時調整當前目錄下的crontab的目錄。也許它實際上是創建的,但不是你認爲的地方... – Volker

+0

你是對的人 - 非常感謝 一切都已經創建在「/ root /」 我想讓路徑絕對有幫助(調整實際的代碼) – Lotoras

回答

0

,所以還是在一個cronjob或圓形regardingly

+0

Go不會「調整」任何東西,它會從所提供的工作目錄開始。 – JimB

相關問題