backend - 在后端挂载 NAS
问题描述
多年来,当我想在我的 MAC 上挂载特定卷时,我一直在运行一个 applescript 程序来连接服务器。
一旦登录到一个帐户,附加的 appelscript 就可以正常工作。
我正在使用 filemaker pro 并且现在想要更高效的部分活动,我现在确实想使用在服务器上执行脚本 (PSoS)。但是,由于我的所有数据都驻留在网络附加存储 (NAS) 上,因此需要在后端安装特定卷。
我想知道这是否可以使用附加的 appelscript 代码在后端安装所需的卷。如果可能的话,有人会告诉我在哪里寻找文件吗?
--
-- AppleScript : MountFARAMIR
-- Version : 1.1
--
-- Coder: Daniel Paquin
-- Date: January 2019
--
-- Input Variables (parameters):
-- volumetobemounted
-- serveraddress
--
-- Output Variables
--
tell application "Finder"
set volumetobemounted to "Data"
set serveraddress to "smb://username:password@NN.N.N.NN/"
set mounted_disks to list disks -- Get list of mounted disk
if mounted_disks does not contain volumetobemounted then --Verify if volume Data has been mounted
try
mount volume serveraddress & volumetobemounted -- Mount volume at Server Address
on error errMSG number errorNumber
display dialog ("There was a problem mounting FARAMIR/DATA : " & errorNumber as text) & ", please notify your system administrator"
return
end try
end if
end tell
与此同时,我一直在尝试通过在 etc 文件夹中添加 auto_smb 来尝试另一种解决方案。不幸的是,我无法让 auto_master 和 auto_smb 工作。
auto_master 看起来像这样:
#
# Automounter master map
#
+auto_master # Use directory service
/net -hosts -nobrowse,hidefromfinder,nosuid
/home auto_home -nobrowse,hidefromfinder
/Network/Servers -fstab
/- -static
/- auto_smb -nosuid,noowners
#/- auto_afp -nobrowse,nosuid
auto_smb 看起来像这样:
#
#
#
/mount/Data -fstype=smbfs,soft,noowners,nosuid,rw ://username:password@NN.N.N.NN:/Data
/mount/Anonymous WebDav -fstype=smbfs,soft,noowners,nosuid,rw ://username:password@NN.N.N.NN:/Anonymous WebDav
auto_master 和 auto_smb 文件权限为:-rw-r--r-- root wheel
我已经使用命令“sudo sudo automount -cv”重新启动了 auto_fs 服务
以下是重启 auto_fs 服务的结果。
automount: /net updated
automount: /home updated
automount: /Mount/Data updated
automount: /Mount/Anonymous updated
automount: no unmounts
- 查看 /Mount 文件夹时,我可以看到 /Data 和 /Anonymous 子文件夹。为什么我看到的是 /Anonymous 而不是 /Anonymous WebDav?
- 与此同时,当转到 /Volumes 文件夹时 /Data 和 /Anonymous WebDav 都没有显示?为什么?我问是因为当使用上面的 applescript 或转到 Connect to server 文件夹 /Volumes 时,而不是显示 /Data 子文件夹。
在测试 auto_master和 auto_smb 文件时,有没有办法运行调试过程?- 是否有日志可以让我看到正在发生的事情?
解决方案
您可以在 FileMaker Server 管理控制台中添加脚本计划以在设定的时间调用 AppleScript。这可能是您挂载 NAS 的脚本
https://fmhelp.filemaker.com/help/18/fms/en/index.html#page/FMS_Help/schedule-run-system-script.html
请注意,脚本本身只能位于一个位置:FMS 脚本文件夹,如果不存在,您将无法在设置计划时选择它。
还要注意权限:脚本文件本身(所有者和组必须是 fmserver / fmsadmin )和脚本将在该 fmserver 用户的上下文中执行。该用户需要适当的权限才能执行您想要的操作。
推荐阅读
- android - React Native Alert.alert() 仅适用于 iOS 和 Android,不适用于 Web
- python-3.x - 在 Python 中将数字转换为二进制
- sql - 检查字符串是否仅在 Transact-SQL 中由字母或数字组成
- html - 在 django 中使用标志作为语言的选项
- python - 如何在 Python 代码中添加 1 级日志详细程度?
- java - Spring WebFlux - 为什么我必须等待 WebClient 响应?
- javascript - Javascript在for循环中返回对象嗨伙计
- amazon-web-services - 在 AWS Lambda 上使用 Python 从 S3 中的 AWS SES 邮件中提取电子邮件附件
- java - 填充对象数组时出现问题。结果始终为空
- php - “将 [name] 添加到可填充属性以允许对 [Illuminate\Foundation\Auth\User] 进行批量分配。”