gpt4 book ai didi

Node.js 管理 SMB 挂载

转载 作者:行者123 更新时间:2023-12-04 19:24:44 25 4
gpt4 key购买 nike

如何在 ubuntu 系统上检查从 Node.js 应用程序安装的驱动器?
我想检查是否安装了特定驱动器,如果没有安装它。
我将在终端中使用的命令是:

mount.cifs //<ip>/<source_path> <target_path> -o user=guest,pass=,uid=guest

是否有一个适用于 WINDOWS 和 UBUNTU 系统的解决方案?

最佳答案

我设法用 解决了这个问题执行同步 ,而且效果很好。这个解决方案的问题是你必须为每个平台编写不同的场景。
检查目标 SMB 是否安装在 Ubuntu 系统上:

 try {
let mountGrepResponse = execSync(
`mount | grep ${config.sourceFolderPath}`
).toString("utf-8");

mountedPath = mountGrepResponse.split("type")[0].split("on")[1].trim();

logger.info(`Target folder is mounted at: ${mountedPath}`);
} catch (error) {
logger.error("Drive isn't mounted, trying to mount it...");
}
如果未安装,请安装驱动器:
 if (mountedPath.length === 0) {
try {
execSync(
`sudo mount -t cifs -o username=guest,password= ${config.sourceFolderPath} ${config.mountFolderPath}`
);
} catch (error) {
console.log(
"Host unavailable, trying again in" + config.timeout + " seconds..."
);
await sleep(config.timeout * 1000) //stop the excution for the given seconds;
}
}

关于Node.js 管理 SMB 挂载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72226345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com