golang 使用github.com/kardianos/service设置为服务开机自启后 无法打印日志了?

写的一个golang项目需要开机自启,于是引入了一个第三方库github.com/kardianos/service,日志框架使用的zap+lumberjack

创建开机自启服务需要用到root权限,所以程序启动时使用sudo ./main ,可以正常启动,但是重启之后,无法再次启动了,查看系统日志提示如下报错信息

logfile: open ./run.log: read-only file system
2021-07-14 11:02:02.260009 +0800 CST m=+0.665712760 write error: can't open new logfile: open ./run.log: read-only file system
2021-07-14 11:02:02.400718 +0800 CST m=+0.806416342 write error: can't open new logfile: open ./run.log: read-only file system
2021-07-14 11:02:02.886868 +0800 CST m=+1.292548622 write error: can't open new logfile: open ./run.log: read-only file system
2021-07-14 11:02:02.93952 +0800 CST m=+1.345198941 write error: can't open new logfile: open ./run.log: read-only file system

求大佬们帮忙看下

尝试过更改权限,更改用户组,都不行

阅读 4.8k
1 个回答

./run.log 这个路径你确认过在哪儿吗?

报错说read-only file system说明路径所在位置是只读方式挂载的,和程序、目录的权限设置没什么关系。

解决办法可以是改成绝对路径,指向 /var/log/run.log 之类的地方。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏