首页 > 其他分享 >挂载smb

挂载smb

时间:2023-03-29 15:58:28浏览次数:32  
标签:string err ip fmt var 挂载 smb

package main   import (     "bufio"     "encoding/json"     "fmt"     "io/ioutil"     "net"     "net/http"     "os"     "os/exec"     "strconv"     "time"       "gopkg.in/ini.v1" )   func floattostr(input_num float64) string {     // to convert a float number to a string     return strconv.FormatFloat(input_num, 'g', -1, 64) }   func getTime() string {     // 得到unix时间戳     t := time.Now()     timestamp := t.Unix()     // 时间戳转时间格式字符串     tm := time.Unix(timestamp, 0)     s_tm := tm.Format("2006-01-02 15:04:05")     return s_tm }   func writeip(s string) {     //创建一个新文件,写入内容     filePath := "./ip.log"     file, err := os.OpenFile(filePath, os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0666)     if err != nil {         fmt.Printf("打开文件错误= %v \n", err)         return     }     //及时关闭     defer file.Close()     //写入内容     ip := getTime() + " " + s + "\n" // \n\r表示换行  txt文件要看到换行效果要用 \r\n     //写入时,使用带缓存的 *Writer     writer := bufio.NewWriter(file)     writer.WriteString(ip)     //因为 writer 是带缓存的,因此在调用 WriterString 方法时,内容是先写入缓存的     //所以要调用 flush方法,将缓存的数据真正写入到文件中。     writer.Flush() }   func getIpInfo() string {     var vmidIpAddr string     var ipArr [6]string     var innerIp = ""     var outIp = ""     addrs, err := net.InterfaceAddrs()     if err != nil {         fmt.Println(err)         os.Exit(1)     }     j := 0     for _, address := range addrs {         // 检查ip地址判断是否回环地址         if ipnet, ok := address.(*net.IPNet); ok && !ipnet.IP.IsLoopback() {             if ipnet.IP.To4() != nil {                 fmt.Println(ipnet.IP.String())                 ipArr[j] = ipnet.IP.String()                 fmt.Println(j)                 j++             }         }     }     innerIp = ipArr[0]     outIp = ipArr[1]     fmt.Println(innerIp)     fmt.Println(outIp)     vmidIpAddr = "inner_ip=" + innerIp + "&outer_ip=" + outIp     writeip(vmidIpAddr)     vmidIpAddr = "inner_ip=192.168.10.146&outer_ip=192.168.10.146"     return vmidIpAddr }   func main() {       var CacherIp = ""     var vmid = ""     var smb_user = ""     var smb_password = ""     var ipInfo = ""       cfg, err := ini.Load("cloudgame_mount.ini")     if err != nil {         fmt.Printf("Fail to read file: %v", err)         os.Exit(1)     }       // 典型读取操作,默认分区可以使用空字符串表示     CacherIp = cfg.Section("").Key("CacherIp").String()     //  vmid = cfg.Section("").Key("vmid").String()     smb_user = cfg.Section("").Key("smb_user").String()     smb_password = cfg.Section("").Key("smb_password").String()       //获取本地IP     ipInfo = getIpInfo()     //获取vmid     //resp, err := http.Get("http://192.168.10.182:8082/cloud_games_shelves_api/v1/getvmid?inner_ip=192.168.10.146&outer_ip=192.168.10.146")     resp, err := http.Get("http://192.168.10.182:8082/cloud_games_shelves_api/v1/getvmid?" + ipInfo)     if err != nil {         fmt.Println(err)         return     }     defer resp.Body.Close()     body, _ := ioutil.ReadAll(resp.Body)     var vminfo map[string]interface{}       err1 := json.Unmarshal([]byte(string(body)), &vminfo)     if err1 != nil {         fmt.Println(err1)     }     vmid = floattostr(vminfo["vmid"].(float64))       //挂载磁盘     mountstr := "net use w: \\\\" + CacherIp + "\\area_vm_data_" + vmid + " " + smb_password + " " "/user:" + smb_user     fmt.Println(mountstr)     c := exec.Command("cmd""/C", mountstr)     if err := c.Start(); err != nil {         fmt.Println("Error: ", err)     } }

标签:string,err,ip,fmt,var,挂载,smb
From: https://www.cnblogs.com/cheyunhua/p/17269204.html

相关文章

  • 迅为2K1000开发板挂载U盘分区
    输入命令fdisk-l查看开发板U盘的节点,这里大家同样要根据自己实际识别出来的节点名来确定,我这里识别出来的是/dev/sda1,但是你的开发板有可能是/dev/sdb1,/dev/sdc1等等......
  • Windows系统服务器如何磁盘挂载
       桌面远程登录服务器后,服务器桌面上只有一个回收站的,我们在桌面空白处右键属性-->桌面-->自定义桌面-->然后把我的电脑前面的框框勾上,再然后点应用、确定,ok回到桌面我......
  • mount-s3 aws 开源的基于fuse 的高性能s3 挂载本地文件系统客户端
    mount-s3aws开源的基于fuse的高性能s3挂载本地文件系统客户端特性当前主要是处理读场景,暂时不支持写入场景,还在规划中兼容性,主要是aws的s3服务,应该是可以和其他s3......
  • Ceph——使用普通用户挂载cephfs
    创建客户端账户  创建账户  创建一个名为lxhfs的普通账户,允许获取ceph状态信息,允许对mds元数据有读写权限,语序对存储池cephfs-datacephfs的存储池有读写和执行权限......
  • 远程挂载sftp
    1.A机器上启用sftp,编辑/etc/ssh/sshd_configSubsystemsftpinternal-sftpCiphersaes256-ctr,aes192-ctr,aes128-ctrMatchGroupsftpChrootDir......
  • 在基于vue-next-admin的Vue3+TypeScript前端项目中,为了使用方便全局挂载对象接口
    在基于vue-next-admin 的Vue3+TypeScript前端项目中,可以整合自己的.NET后端,前端操作一些功能的时候,为了使用方便全局挂载的对象接口,以便能够快速处理一些特殊的操作,如......
  • 挂载扩展容量
    SD卡演示格式化SD卡NTFS插入玩客云fdisk-l查看磁盘名称/dev/mmcblk1p1【你们看到找和盘大小的容量就对了】新建文件mkdir-p后面是你要挂载的目录例如:mkdir-p/www......
  • windows10挂载webdav
    一、简介当前市面上大部分的网盘,可以挂载到“Alist”中。Alist又支持webdav协议。这就意味着通过Alist的webdav服务,我们可以直接将网盘挂载到本地,类似于本地磁盘......
  • docker挂载volume的用户权限问题,理解docker容器的uid
    docker挂载volume的用户权限问题,理解docker容器的uid在刚开始使用dockervolume挂载数据卷的时候,经常出现没有权限的问题。这里通过遇到的问题来理解docker容器用户uid......
  • RT-Thread BSP qemu-virt64-aarch64 挂载 ext4文件系统
    前言经常简单的配置,在RT-ThreadBSPqemu-virt64-aarch64上可以支持fat文件系统,但是如何支持ext4文件系统呢?经过验证,也是配置使能ext4就可以支持ext4软件包当前RT......