diff --git a/.cvsignore b/.cvsignore index 04204c7..9ead238 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1,4 @@ config +crontab +run-parts +crontabs.4 diff --git a/crontab b/crontab index ecab3da..417e369 100644 --- a/crontab +++ b/crontab @@ -2,12 +2,15 @@ SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ -# .---------------- minute (0 - 59) + +# For details see man 4 crontabs + +# Example of job definition: +# .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) -# | | | .------- month (1 - 12) OR jan,feb,mar,apr ... -# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR -#sun,mon,tue,wed,thu,fri,sat +# | | | .------- month (1 - 12) OR jan,feb,mar,apr ... +# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * command to be executed diff --git a/crontabs.spec b/crontabs.spec index cbfb7d8..c1f5455 100644 --- a/crontabs.spec +++ b/crontabs.spec @@ -1,12 +1,12 @@ Summary: Root crontab files used to schedule the execution of programs Name: crontabs Version: 1.10 -Release: 29%{?dist} +Release: 30%{?dist} License: Public Domain and GPLv2 Group: System Environment/Base Source0: crontab Source1: run-parts -Source2: config +Source2: crontabs.4 BuildArch: noarch Requires: /etc/cron.d BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -25,10 +25,10 @@ your system. rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT/etc/cron.{hourly,daily,weekly,monthly} mkdir -p $RPM_BUILD_ROOT/usr/bin -mkdir -p $RPM_BUILD_ROOT/etc/sysconfig -cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/crontab +mkdir -p $RPM_BUILD_ROOT/%{_mandir}/man4/ install -m644 $RPM_SOURCE_DIR/crontab $RPM_BUILD_ROOT/etc/crontab install -m755 $RPM_SOURCE_DIR/run-parts $RPM_BUILD_ROOT/usr/bin/run-parts +install -m644 $RPM_SOURCE_DIR/crontabs.4 $RPM_BUILD_ROOT/%{_mandir}/man4/ %clean rm -rf $RPM_BUILD_ROOT @@ -36,14 +36,18 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %{_bindir}/run-parts -%config(noreplace) /etc/sysconfig/crontab %config(noreplace) /etc/crontab +%{_mandir}/man4/* %dir /etc/cron.hourly %dir /etc/cron.daily %dir /etc/cron.weekly %dir /etc/cron.monthly %changelog +* Thu Jun 18 2009 Marcela Mašláňová 1.10-30 +- 491793 thanks Andrew Hecox for patch which allows set allow/deny jobs +- comment change "empty crontab" + * Tue Feb 24 2009 Fedora Release Engineering - 1.10-29 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild diff --git a/run-parts b/run-parts index 96c56a5..6ab6f11 100755 --- a/run-parts +++ b/run-parts @@ -25,7 +25,20 @@ for i in $(LC_ALL=C; echo $1/*[^~,]) ; do [ "${i%.swp}" != "${i}" ] && continue [ "${i%,v}" != "${i}" ] && continue + # jobs.deny prevents specific files from being executed + # jobs.allow prohibits all non-named jobs from being run. + # can be used in conjunction but there's no reason to do so. + if [ -r $1/jobs.deny ]; then + grep -q "^$(basename $i)$" $1/jobs.deny && continue + fi + if [ -r $1/jobs.allow ]; then + grep -q "^$(basename $i)$" $1/jobs.allow || continue + fi + if [ -x $i ]; then + if [ -r $1/whitelist ]; then + grep -q "^$(basename $i)$" $1/whitelist && continue + fi logger -p cron.notice -t "run-parts($1)[$$]" "starting $(basename $i)" $i 2>&1 | awk -v "progname=$i" \ 'progname { diff --git a/sources b/sources index ba72251..39bf498 100644 --- a/sources +++ b/sources @@ -1 +1,3 @@ -ba1e7d606a110d281c16d9d49c6f335d config +3a9b01f4bf9205b5c62cb16782a13d48 run-parts +714d6ada56f1e41e614693f50a8034ef crontab +e1f6e832d90ea9a4ff8f23232b8252a6 crontabs.4