在CronJob中运行时,代码不会创建文件

时间:2017-05-30 13:35:09

标签: go cron

我正在尝试创建一个正在创建文件并为其编写一些字符串的CronJob。当代码正常运行时,代码可以正常工作。此外,代码本身在作为Cronjob运行时执行(我检查/ var / log / syslog并使用“fmt.Print(”some string“)打印一些东西) 问题是我执行Cronjob时不会创建我要创建的文件(我是我的服务器上的根,所以“crontab -e”应该有足够的权限不应该吗?)

代码:

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

感谢任何帮助

1 个答案:

答案 0 :(得分:0)

因此,当在Cronjob中执行时,将当前目录调整到crontab目录,或者反过来