mirror of
https://github.com/lwch/natpass.git
synced 2024-04-21 12:41:54 +00:00
增加install时自动创建log.dir目录的逻辑
This commit is contained in:
@@ -99,6 +99,7 @@ func main() {
|
||||
switch *act {
|
||||
case "install":
|
||||
runtime.Assert(sv.Install())
|
||||
utils.BuildLogDir(cfg.LogDir, *user)
|
||||
case "uninstall":
|
||||
runtime.Assert(sv.Uninstall())
|
||||
default:
|
||||
|
||||
@@ -3,6 +3,8 @@ package global
|
||||
import (
|
||||
"crypto/md5"
|
||||
"natpass/code/utils"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"time"
|
||||
|
||||
"github.com/lwch/runtime"
|
||||
@@ -42,6 +44,11 @@ func LoadConf(dir string) *Configure {
|
||||
} `yaml:"tls"`
|
||||
}
|
||||
runtime.Assert(yaml.Decode(dir, &cfg))
|
||||
if filepath.IsAbs(cfg.Log.Dir) {
|
||||
dir, err := os.Executable()
|
||||
runtime.Assert(err)
|
||||
cfg.Log.Dir = filepath.Join(filepath.Dir(dir), cfg.Log.Dir)
|
||||
}
|
||||
return &Configure{
|
||||
Listen: cfg.Listen,
|
||||
Enc: md5.Sum([]byte(cfg.Secret)),
|
||||
|
||||
@@ -6,6 +6,7 @@ import (
|
||||
"fmt"
|
||||
"natpass/code/server/global"
|
||||
"natpass/code/server/handler"
|
||||
"natpass/code/utils"
|
||||
"net"
|
||||
"os"
|
||||
"path/filepath"
|
||||
@@ -102,6 +103,7 @@ func main() {
|
||||
switch *act {
|
||||
case "install":
|
||||
runtime.Assert(sv.Install())
|
||||
utils.BuildLogDir(cfg.LogDir, *user)
|
||||
case "uninstall":
|
||||
runtime.Assert(sv.Uninstall())
|
||||
default:
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"os"
|
||||
"os/user"
|
||||
"strconv"
|
||||
|
||||
"github.com/lwch/runtime"
|
||||
)
|
||||
|
||||
func BuildLogDir(dir, u string) {
|
||||
runtime.Assert(os.MkdirAll(dir, 0755))
|
||||
if len(u) > 0 {
|
||||
us, err := user.Lookup(u)
|
||||
runtime.Assert(err)
|
||||
uid, _ := strconv.ParseInt(us.Uid, 10, 64)
|
||||
gid, _ := strconv.ParseInt(us.Gid, 10, 64)
|
||||
runtime.Assert(os.Chown(dir, int(uid), int(gid)))
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -4,6 +4,6 @@ link:
|
||||
read_timeout: 1s # 读取数据包超时时间
|
||||
write_timeout: 1s # 发送数据包超时时间
|
||||
log:
|
||||
dir: ./logs # 路径
|
||||
dir: ./logs # 路径,相对于可执行文件所在目录的相对路径
|
||||
size: 50M # 单个文件大小
|
||||
rotate: 7 # 保留数量
|
||||
Reference in New Issue
Block a user