Sponsored Content
Top Forums UNIX for Beginners Questions & Answers Mac OS X Catalina - NFS File Access Behavior in CRON or Launchd Post 303045424 by bminear on Friday 20th of March 2020 10:40:09 AM
Old 03-20-2020
Mac OS X Catalina - NFS File Access Behavior in CRON or Launchd

I'm really struggling here, and I think this is a new effect of upgrade to Catalina. I have an automounted NFS directory that contains a file I want to periodically copy to my Mac's local file system. I have a script that does this, and it worked beautifully before Catalina upgrade. If I run the script manually (as root) it's all good. If I run the script as part of a scheduled job it fails. I've tried launching the script in root owned cron job, and I've tried using Launchd. Both fail the same way.

My script:

#!/bin/sh

if [ -f /System/Volumes/Data/nfs/hosts ]
then
cat /etc/hosts.base /System/Volumes/Data/nfs/hosts > /etc/hosts
fi


/System/Volumes/Data/nfs is an NFS share coming off a Synology NAS.

The [ -f ...] part works fine. It can successfully determine if the hosts file exists in the NFS directory. But the cat command fails reading the hosts file. Again, if I run the script manually it all works fine. It only fails if the script is launched from cron or launchd.

File permissions:

brians-mbp:etc root# ls -la /System/Volumes/Data/nfs/hosts
-rwxrwxrwx 1 1024 _lpoperator 2393 Feb 8 14:29 /System/Volumes/Data/nfs/hosts

I've tried fiddling with owner and group, no effect. I've tried different approaches of mounting the NFS drive (automount, fstab, etc), no effect. I've tried different directories, different filenames, etc, no effect. I've tried using different shells in the script (sh, zsh, ...), no effect.

I've tried to find whether Catalina introduced some new ACL mechanisms but can't find anything other than gripes about how Apple changed directory structure in Catalina. But the fact that the script runs just fine if run manually tells me the permissions/ACLs must be ok.

Any ideas?

Brian
 

7 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Strange IP traffic behavior when using Samba and FTP (Windows/Mac to Linux)

I have set up a samba share on my Linux server. I have a gigabit switch, gigabit NICs in each machine. I have set up the /etc/samba/smb.conf to support no delay, 8192 send/receive buffers, etc. This helped the rate for Samba go from about 4MB/S to about 10MB/S, but I expect to see about... (1 Reply)
Discussion started by: perspectx
1 Replies

2. AIX

Cannot access NFS file system

I create a NFS file system. I can read this system from client, however, I cannot write anything in this folder. Why? (1 Reply)
Discussion started by: rainbow_bean
1 Replies

3. Shell Programming and Scripting

Behavior of Bad Script in Cron Job

Hi A Ksh script is deployed in a server and executed through cronjob. If one of the line in the middle of the script fails . Are the remaining lines executed ? (3 Replies)
Discussion started by: Sivaswami
3 Replies

4. Red Hat

NFS Access Issue

Hi, I am facing issue on NFS. I have shared /data file file system on Server 192.192.192.1, added below lines in /etc/exports /data 192.192.192.2(rw,no_root_squash,sync) the owner of /data directory was test(uid 500) and same I have mounted on another server 192.192.192.2 where the... (3 Replies)
Discussion started by: manoj.solaris
3 Replies

5. Shell Programming and Scripting

grep startup messages from catalina.out file

Hello Team, I am trying to extract date from the following output and trying to compare with current date and if there is 10 minute difference between the two. it should logs message in the file server is started.can anyone help me to implement this in the script? (1 Reply)
Discussion started by: coolguyamy
1 Replies

6. UNIX for Advanced & Expert Users

Different redirection behavior in BASH/Linux when run under cron vice login ???

run_xfs_fsr is a xfs filesystem maintenance script designed to run under cron. The system is a home theater personal computer running mythbuntu 10.10, and is accessed remotely for these tests. cron runs a script, (xfs_fsr.sh) at 02:30 that runs the subject script under BASH and sets the... (3 Replies)
Discussion started by: keepitsimpleeng
3 Replies

7. UNIX for Dummies Questions & Answers

Launchd-owned processes unexpected behavior

Ok, so I have been struggling with this for a few days and I think I need an explanation of a few things before I go any further. I'm not sure it's possible to do what I'm trying, so before I pull my hair out, here is what I'm doing: I have written a program in LiveCode that sits on our... (2 Replies)
Discussion started by: nextyoyoma
2 Replies
RPC.STATD(8)						    BSD System Manager's Manual 					      RPC.STATD(8)

NAME
rpc.statd -- host status monitoring daemon SYNOPSIS
rpc.statd [-d] rpc.statd [-d] -n rpc.statd [-d] [-l | -L | -N hostname] DESCRIPTION
The rpc.statd utility is a daemon which cooperates with rpc.statd daemons on other hosts to provide a status monitoring service. The daemon accepts requests from programs running on the local host (typically, rpc.lockd(8), the NFS file locking daemon) to monitor the status of specified hosts. If a monitored host crashes and restarts, the remote daemon will notify the local daemon, which in turn will notify the local program(s) which requested the monitoring service. Conversely, if this host crashes and restarts, the statd.notify service will be started to notify all of the hosts which were being monitored at the time of the crash. The rpc.statd utility consists of two launchd(8)-controlled services. The statd.notify service is run whenever the system needs to notify remote hosts of a restart. The statd service is controlled by rpc.lockd(8) so that the rpc.statd daemon is running whenever rpc.lockd(8) is running. The following is a list of command line options that are available. Note that since rpc.statd is normally started by launchd(8), configura- tion of these options should be controlled using the equivalent settings in the NFS configuration file. See nfs.conf(5) for a list of tun- able parameters. -d Sets the logging level to the maximum. Note that finer grain control is available via the nfs.statd.verbose option in nfs.conf(5). Logging is performed via syslog(3) using the LOG_DAEMON facility. By default, only messages up to priority LOG_WARNING are logged. Setting the verbose level to one will add LOG_NOTICE messages which includes logging failed mount attempts. A verbose level of two will increase the log level to LOG_INFO which includes logging successful mount attempts. A log level of three or more will add LOG_DEBUG messages and cause increasing amounts of debug information to be logged. The debug information exposes lots of information about rpc.statd's inner workings which is typically only useful to developers. Note: the syslog(8) configuration may need to be adjusted in order to see the increased verbosity. The following command line option causes the daemon to run in the statd.notify notification service mode: -n Send SM_NOTIFY messages to notify any hosts of a restart. The remaining command line options may be useful for viewing or modifying the contents of the status file. They do not start up any daemon or service. -l List each host (and its status) in the status file. -L List each host (and its status) in the status file and then continue to watch the file and report changes. -N Clear the "needs notification" status for hostname so the statd.notify service will no longer try to notify it. FILES
/var/db/statd.status non-volatile record of monitored hosts. /var/run/statd.pid The pid of the current statd daemon. /var/run/statd.notify.pid The pid of the current statd.notify daemon. /System/Library/LaunchDaemons/com.apple.statd.notify.plist The statd.notify service's property list file for launchd(8). /usr/include/rpcsvc/sm_inter.x RPC protocol specification used by local applications to register monitoring requests. SEE ALSO
nfs.conf(5), rpc.lockd(8), syslog(3), launchd(8) BUGS
There is no means for the daemon to tell when a monitored host has disappeared permanently (eg. catastrophic hardware failure), as opposed to transient failure of the host or an intermediate router. At present, it will pause and re-try notification at frequent intervals for 10 min- utes, then hourly, and finally gives up after 24 hours. The -N option may be used to remove the "needs notification" status from such hosts. The protocol requires that symmetric monitor requests are made to both the local and remote daemon in order to establish a monitored rela- tionship. This is convenient for the NFS locking protocol, but probably reduces the usefulness of the monitoring system for other applica- tions. STANDARDS
The implementation is based on the specification in X/Open CAE Specification C218, "Protocols for X/Open PC Interworking: XNFS, Issue 4", ISBN 1 872630 66 9 BSD
July 5, 2008 BSD
All times are GMT -4. The time now is 06:47 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy