54 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
| #!/sbin/openrc-run
 | |
| #
 | |
| # PROGRAM="osync-srv"
 | |
| # SCRIPT_BUILD=2018051701
 | |
| # Script written by Brian Evans (grknight@gentoo.org) in 2018
 | |
| # How to use:
 | |
| # 
 | |
| # 0) Rename this to osync-srv, and place it in /etc/init.d.
 | |
| # 1) Ensure that your config is located in /etc/osync, under some name with a
 | |
| # .conf extension.
 | |
| # 2) Ensure that osync.sh can be found in /usr/local/bin.                                                                                         
 | |
| # 3) Ensure that you have rsync and inotify-tools installed.                                                                                      
 | |
| # 4) Symlink this to a name with an extension equal to the basename of your                                                                       
 | |
| # config file.
 | |
| # 5) Add to the default runlevel under the symlinked name.                                                                                        
 | |
| #                                                                                                                                                 
 | |
| # Example:
 | |
| #                                                                                                                                                 
 | |
| # Suppose the config is located at /etc/osync/documents.conf. You then want to                                                                    
 | |
| # symlink as follows:
 | |
| #
 | |
| # # ln -s /etc/init.d/osync-srv /etc/init.d/osync-srv.documents
 | |
| # 
 | |
| # Then you can start the service as normal:
 | |
| #
 | |
| # # rc-update add osync-srv.documents default
 | |
| 
 | |
| depend() {
 | |
| 	use localmount chrony ntp-client
 | |
| }
 | |
| 
 | |
| description="Two way directory sync daemon"
 | |
| command=/usr/local/bin/osync.sh
 | |
| conffile="${RC_SVCNAME#*.}.conf"
 | |
| cfgfile="/etc/osync/${conffile}"
 | |
| command_args="${cfgfile} --on-changes --errors-only"
 | |
| command_background="yes"
 | |
| pidfile="/var/run/${RC_SVCNAME}"
 | |
| stopsig=TERM
 | |
| 
 | |
| start_pre() {
 | |
| 	if [ "${conffile}" = ".conf" ]; then
 | |
| 		eerror "${RC_SVCNAME} cannot be started directly. You must create"
 | |
| 		eerror "symbolic links to it for the configuration you want to start"
 | |
| 		eerror "osync on and add those to the appropriate runlevels."
 | |
| 		return 1
 | |
| 	fi
 | |
| 
 | |
| 	if ! [ -f "${cfgfile}" ]; then
 | |
| 		eerror "Cannot find configuration file ${cfgfile}."
 | |
| 		return 1
 | |
| 	fi
 | |
| }
 |