54 lines
1.1 KiB
Go
54 lines
1.1 KiB
Go
package utils
|
|
|
|
import (
|
|
"crypto/rand"
|
|
"encoding/hex"
|
|
"os"
|
|
"os/exec"
|
|
"time"
|
|
)
|
|
|
|
// CommandExists 检查命令是否存在
|
|
func CommandExists(cmd string) bool {
|
|
_, err := exec.LookPath(cmd)
|
|
return err == nil
|
|
}
|
|
|
|
// FileExists 检查文件是否存在
|
|
func FileExists(path string) bool {
|
|
_, err := os.Stat(path)
|
|
return err == nil || !os.IsNotExist(err)
|
|
}
|
|
|
|
func GenerateID() (string, error) {
|
|
bytes := make([]byte, 16)
|
|
if _, err := rand.Read(bytes); err != nil {
|
|
return "", err
|
|
}
|
|
return hex.EncodeToString(bytes), nil
|
|
}
|
|
|
|
func GetTimestamp() string {
|
|
return time.Now().Format("2006-01-02 15:04:05")
|
|
}
|
|
|
|
// 定义短语
|
|
const (
|
|
NoAvailableNetworkInterfaces = "No available network interfaces"
|
|
)
|
|
|
|
// 定义目录
|
|
const (
|
|
DefaultBaseDir string = "/etc/sunhpc"
|
|
DefaultTmplDir string = DefaultBaseDir + "/tmpl.d"
|
|
DefaultLogDir string = "/var/log/sunhpc"
|
|
DefaultLogFile string = DefaultLogDir + "/sunhpc.log"
|
|
)
|
|
|
|
// 定义数据库
|
|
const (
|
|
DefaultDBName string = "sunhpc.db"
|
|
DefaultDBPath string = "/var/lib/sunhpc"
|
|
DefaultDBArgs string = "_foreign_keys=on&_journal_mode=WAL&_timeout=5000"
|
|
)
|