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
nfs_manual_setup(7)					 Miscellaneous Information Manual				       nfs_manual_setup(7)

NAME
nfs_manual_setup - Describes how to manually set up the Network File System (NFS) DESCRIPTION
This reference page describes how to manually set up the Network File System (NFS). Setting up NFS includes configuring the following: Servers Clients, using /etc/fstab Clients, using Automount or AutoFS Setting Up Servers Use the following procedure to set up an NFS server: Create the /etc/exports file and add the appropriate entries to it. The entries that you add are site-specific but their syntax should be as follows: pathname [-root=0] [-root=hostlist [-anon=uid] [-rw=hostlist [-ro] identifier_1 ... identifier_n You can use the number sign (#) as a delimiter to add comments. For more informa- tion, see the exports(4) reference page and the Network Administration manual. Add the following information to the /etc/rc.con- fig.common file by using the /usr/sbin/rcmgr command, which has the following syntax: /usr/sbin/rcmgr set variable value Indicate that this system is a server, by entering the following command: # /usr/sbin/rcmgr set NFSSERVING 1 (A zero (0) in place of the 1 indicates that this system is not a server.) Specify the number of nfsd server threads you want to run on the system. Separate symbols are used for UDP threads and TCP threads. For example, to run 8 TCP threads and 4 UDP threads, enter the following commands: # /usr/sbin/rcmgr set NUM_TCPD 8 # /usr/sbin/rcmgr set NUM_UDPD 4 You can run up to 128 server threads for both transports combined. Although 8 server threads for each transport is usually adequate, if NFS client performance is slow, a possible solution is to increase the number of server threads. Set the NONROOTMOUNTS parameter. Setting this parameter to 0 specifies that only root users on the client systems can mount file systems. Setting it to 1 specifies that anyone on the client systems can mount file systems. The following command specifies that users must be running as root to mount file systems from the server: # /usr/sbin/rcmgr set NONROOTMOUNTS 0 Specify whether you want to run the PC-NFS daemon. PC-NFS software provides personal computers on your network with the same capabilities as NFS. PC-NFS is based on the client/server model. The client software runs on the per- sonal computer. The server software runs on the Tru64 UNIX server. Instructions for setting up the PC-NFS client software is pro- vided with the PC-NFS software documentation. To specify that you want to run the PC-NFS daemon, enter the following command: # /usr/sbin/rcmgr set PCNFSD 1 You must then export the directories you want to mount on the PC client to the client. Also, you must export the /usr/spool/pcnfs directory to the PC client for the client to be able to utilize network printing. For information on exporting directories, see the Network Administration manual. Specify whether you want to run the NFS locking service to allow clients to set advisory record locks on files exported to them. To specify that you want to run the NFS locking service, enter the following command: # /usr/sbin/rcmgr set NFSLOCKING 1 Note, by default, 7 nfsiod daemons are run on all NFS systems. To turn this client service off, enter the following command: # /usr/sbin/rcmgr set NUM_NFSIOD 0 The /usr/sbin/rcmgr command appends the information to the end of the /etc/rc.config.common file. For more information on the rcmgr utility, see the rcmgr(8) reference page. Make sure that one of the following is true for client systems to which you are exporting file systems: They have an entry in the /etc/hosts file of the server. Their host information is in the hosts database, if the network is serving host information with NIS or DNS. The server specifies the client's Internet address instead of its host name in its /etc/exports file and the mountd daemon is not configured to run with Internet address checking turned on. Start the NFS daemons by entering the following command: # /sbin/init.d/nfs start # /sbin/init.d/nfsmount start To stop the NFS daemons, enter the following command: # /sbin/init.d/nfs stop Using the /etc/fstab File to Set Up Clients Use the following procedure to set up an NFS client, using the /etc/fstab file: Edit the /etc/fstab file. Unless you are using an automatic mounting service, such as Automount or AutoFS, edit the /etc/fstab file to contain an entry for each file system that you want to mount on your system if you want it mounted automatically. Specify the file system you are mount- ing, the server you are mounting it from, the permissions with which it is mounted, and the local mount point for it. The syntax for entries in the /etc/fstab file is as follows: fs_spec@server fs_file fs_vfstype fs_mntopts fs_freq fs_passno For more information, see fstab(4). The following is a sample /etc/fstab file: /usr/dist@host1 /usr/dist nfs ro,bg 0 0 share/man@host2 /usr/share/man nfs ro,bg 0 /usr/staff/h0@host3 /nfs/host3/usr/staff/h rw,bg 0 /usr/staff/h1@host3 /nfs/host3/usr/staff/h1 nfs rw,bg 0 0 Create a local mount point for each remote file system that you specified in the /etc/fstab file. The local mount points must correspond exactly to the fs_file field in the /etc/fstab file. In the preceding example, the client system uses the /etc/fstab file to mount the remote file system /usr/share/man from host2. The /etc/fstab entry specifies that the local mount point is also called /usr/share/man on the client system. While this is the easiest way to name the local mount point, it can have any name. To create the /usr/share/man mount point, enter the following command: # mkdir /usr/share/man Make sure that one of the following is true for server systems from which you are importing file systems: They have an entry in the /etc/hosts file of the client. Their host information is in the hosts database, if the network is serving host information with NIS or DNS. Edit the /etc/rc.config.common file by using the /usr/sbin/rcmgr utility. Add the following information to the /etc/rc.config.common file: Whether this system is an NFS server (a system can be both a client and a server). The number of nfsiod daemons that you want the system to run. To specify that you want this system to run 7 nfsiod daemons, enter the following command: # /usr/sbin/rcmgr set NUM_NFSIOD 7 You can run up to 64 nfsiod daemons. Although 7 nfsiod daemons is usually adequate, if NFS read and write performance is slow, you can increase the number of nfsiod daemons. Optionally, you can turn on the NFS locking service, if you want to be able to set advi- sory record locks on NFS-mounted files. To do this, enter the following command: # /usr/sbin/rcmgr set NFSLOCKING 1 Note that the NFS locking service must also be running on the server. The /usr/sbin/rcmgr command appends the information to the end of the /etc/rc.config.common file. For more information on the rcmgr utility, see rcmgr(8). Start the NFS daemons by entering the following command: # /sbin/init.d/nfs start # /sbin/init.d/nfsmount start If you are using Automount or AutoFS on this system, you should complete the steps in the Network Administration manual before starting the NFS daemons. If you need to stop the NFS daemons, enter the following command: # /sbin/init.d/nfs stop Administering Automount and AutoFS Maps You can customize Automount and AutoFS maps to suit your environment and either administer them locally, distribute them using NIS, or both. For information on creating and administering Automount and AutoFS maps, see the Network Administration manual. RELATED INFORMATION
Commands: autofsd(8), automount(8), mountd(8), nfsconfig(8), nfsd(8), nfsiod(8), rpc.lockd(8), rpc.statd(8) Files: advfs(4), cdfs(4), fstab(4) Network Information: nfs_intro(4) Network Administration, Technical Overview delim off nfs_manual_setup(7)
All times are GMT -4. The time now is 07:20 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy