mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-24 18:44:27 -04:00 
			
		
		
		
	Add procd file listeners to check files in `/etc/crontabs/`. Also unified a bit the function style. Signed-off-by: Paul Spooren <mail@aparcar.org>
		
			
				
	
	
		
			41 lines
		
	
	
		
			821 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			821 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh /etc/rc.common
 | |
| # Copyright (C) 2006-2011 OpenWrt.org
 | |
| 
 | |
| START=50
 | |
| 
 | |
| USE_PROCD=1
 | |
| PROG=/usr/sbin/crond
 | |
| 
 | |
| validate_cron_section() {
 | |
| 	uci_validate_section system system "${1}" \
 | |
| 		'cronloglevel:uinteger'
 | |
| }
 | |
| 
 | |
| start_service() {
 | |
| 	[ -z "$(ls /etc/crontabs/)" ] && return 1
 | |
| 
 | |
| 	loglevel="$(uci_get "system.@system[0].cronloglevel")"
 | |
| 
 | |
| 	[ -z "${loglevel}" ] || {
 | |
| 		/sbin/validate_data uinteger "${loglevel}" 2>/dev/null
 | |
| 		[ "$?" -eq 0 ] || {
 | |
| 			echo "validation failed"
 | |
| 			return 1
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	mkdir -p /var/spool/cron
 | |
| 	ln -s /etc/crontabs /var/spool/cron/ 2>/dev/null
 | |
| 
 | |
| 	procd_open_instance
 | |
| 	procd_set_param command "$PROG" -f -c /etc/crontabs -l "${loglevel:-5}"
 | |
| 	for crontab in /etc/crontabs/*; do
 | |
| 		 procd_set_param file "$crontab"
 | |
| 	done
 | |
| 	procd_close_instance
 | |
| }
 | |
| 
 | |
| service_triggers() {
 | |
| 	procd_add_validation validate_cron_section
 | |
| }
 |