ubuntu20 安装Go/go go定时任务

安装 Go

  1. 使用官方包管理器安装(版本可能不是最新):

    查看版本:

    apt list golang    // 是1.13版本(太老了),直接从官网下载
    

    sudo apt update
    sudo apt install -y golang
    
  2. 从官方网站下载安装(推荐,获取最新版本):

    wget https://golang.org/dl/go1.22.2.linux-amd64.tar.gz
    sudo tar -C /usr/local -xzf go1.22.2.linux-amd64.tar.gz
    

    请根据 Go 最新版本修改下载链接。

  3. 配置环境变量

    ~/.bashrc~/.profile 中添加以下内容:

    export PATH=$PATH:/usr/local/go/bin
    export GOPATH=$HOME/go
    export PATH=$PATH:$GOPATH/bin
    

    然后执行:

    source ~/.bashrc
    
  4. 检查安装是否成功

    go version
    

    如果安装成功,会输出 Go 版本信息,例如:

使用cron执行xx.go

hello.go

package main

import (
	"fmt"
	"log"
	"os"
)

func logs() {
	// 打开文件,如果不存在就创建
	file, err := os.OpenFile("app.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644)
	if err != nil {
		log.Fatal(err)
	}

	// 设置日志输出到文件
	log.SetOutput(file)
	log.Println("这是一条普通的日志")
	defer file.Close()
}

func main() {
	fmt.Println("开始了")
	logs()
}

如果 Go 程序依赖某些环境变量(如 GOROOT 或 PATH),需要显式设置这些变量。
在 crontab 文件顶部添加如下 (一定添加,否则不执行)

# go程序测试
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/go/bin
GOPATH=/root/go
GOROOT=/usr/local/go

00 20 * * * root su - root -c "cd /root/go && /usr/local/go/bin/go run /root/go/hello.go"
02 20 * * * root su - root -c "cd /root/go && /usr/local/go/bin/go run /root/go/hello.go"
03 20 * * * root su - root -c "cd /root/go && /usr/local/go/bin/go run /root/go/hello.go"

eg :

posted @ 2024-12-10 19:14  __username  阅读(7)  评论(0编辑  收藏  举报

本文作者:DIVMonster

本文链接:https://www.cnblogs.com/guangzan/p/12886111.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。