I have the following crontab for a user on my system:
$ crontab -l
# MIN HOUR DAY MONTH DAYOFWEEK COMMAND
# every Sunday morning at 9am
0 9 * * sun /www/servers/mirrors.phauna.org/scripts/update_latex.sh
Every Sunday morning, I wake up with a message (sent at exactly 09:00:16)
which contains what looks like shell scripting. I've attached a sample as
"cronmail.txt".
I can run /www/servers/mirrors.phauna.org/scripts/update_latex.sh as the
user with no errors or funny business.
I'm running dcron-2.9. The /www partition is mounted rw via NFS with NIS.
I've checked bugs.gentoo.org with no luck.
TIA,
Owen
Return-path: <[EMAIL PROTECTED]>
Envelope-to: [EMAIL PROTECTED]
Delivery-date: Sun, 06 Jul 2003 09:00:16 -0400
Received: from warchicken.phauna.org ([192.168.1.2])
by swisspig.phauna.org with smtp (Exim 4.12)
id 19Z97o-0002tT-00
for [EMAIL PROTECTED]; Sun, 06 Jul 2003 09:00:16 -0400
Received: by warchicken.phauna.org (sSMTP sendmail emulation); Sun, 6 Jul 2003
09:00:16 -0400
From: phauna.org Webmaster <[EMAIL PROTECTED]>
Date: Sun, 6 Jul 2003 09:00:16 -0400
To: [EMAIL PROTECTED]
Subject: cron: /www/servers/mirrors.phauna.org/scripts/update_latex.sh
Message-Id: <[EMAIL PROTECTED]>
depinfo_alsasound () { export rc_name="alsasound";
export rc_ineed="bootmisc localmount";
export rc_needsme=;
export rc_iuse=;
export rc_usesme=;
export rc_ibefore="local modules";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
depinfo_checkroot () { export rc_name="checkroot";
export rc_ineed=;
export rc_needsme="checkfs crypto-loop domainname hostname modules";
export rc_iuse=;
export rc_usesme=;
export rc_ibefore="alsasound bootmisc checkfs clock consolefont crypto-loop cupsd
dcron domainname fam gkrellmd hdparm hostname hotplug inetd iptables keymaps local
localmount metalog modules net.eth0 net.lo net.ppp0 netmount nfs nfsmount nscd ntpd
numlock portmap rmnologin rsyncd samba serial slpd sshd switch urandom winbind xdm xfs
ypbind zetagrid";
export rc_iafter=;
export rc_broken=;
export rc_parallel=
}
depinfo_serial () { export rc_name="serial";
export rc_ineed="localmount";
export rc_needsme=;
export rc_iuse=;
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
usesme () { [ -z "$1" ] && return 1;
check_dependency usesme $*;
return $?
}
start-single-daemon () { local retval=0;
local pidfile=;
local pidretval=0;
local daemon=;
local SSD="start-stop-daemon";
if [ "$(eval echo \${DAEMONS/$1/})" != "${DAEMONS}" ]; then
daemon="$1";
shift;
if [ "$(eval echo \${*/${daemon}/})" = "$*" ]; then
return 1;
fi;
else
return 1;
fi;
if [ -z "${DAEMONS}" -o "$#" -lt 1 -o -z "${daemon}" ]; then
return 1;
else
${SSD} $*;
retval=$?;
if [ "${retval}" -ne 0 ]; then
return ${retval};
fi;
checkpid ${daemon};
pidretval=$?;
if [ "${pidretval}" -ne 0 -a "${pidretval}" -ne 1 ]; then
return 1;
fi;
fi;
return ${retval}
}
depinfo_slpd () { export rc_name="slpd";
export rc_ineed="net";
export rc_needsme=;
export rc_iuse=;
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
depinfo_xdm () { export rc_name="xdm";
export rc_ineed=;
export rc_needsme=;
export rc_iuse="hotplug xfs";
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
service_failed () { [ -z "$1" ] && return 1;
if [ -L "${svcdir}/failed/$1" ]; then
return 0;
fi;
return 1
}
depinfo_gkrellmd () { export rc_name="gkrellmd";
export rc_ineed="net";
export rc_needsme=;
export rc_iuse=;
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
depinfo_clock () { export rc_name="clock";
export rc_ineed="localmount";
export rc_needsme="bootmisc dcron metalog";
export rc_iuse=;
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
einfon () { if [ "${RC_QUIET_STDOUT}" != "yes" ]; then
echo -ne " ${GOOD}*${NORMAL} ${*}";
fi;
return 0
}
ewarn () { if [ "${RC_QUIET_STDOUT}" = "yes" ]; then
echo " ${*}";
else
echo -e " ${WARN}*${NORMAL} ${*}";
fi;
esyslog "daemon.warning" "rc-scripts" "${*}";
return 0
}
depinfo_nfs () { export rc_name="nfs";
export rc_ineed="net portmap";
export rc_needsme=;
export rc_iuse=;
export rc_usesme="netmount";
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
dependon () { [ -z "$1" -o -z "$2" ] && return 1;
if ineed -t "$1" "$2" || iuse -t "$1" "$2"; then
return 0;
fi;
return 1
}
depinfo_consolefont () { export rc_name="consolefont";
export rc_ineed="localmount";
export rc_needsme=;
export rc_iuse=;
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
list_depend_trace () { local x=;
local list=;
[ -z "$1" ] && return 1;
trace_depend "$1" "${myservice}" "list";
for x in ${list};
do
echo "${x}";
done;
return 0
}
query_after () { local x=;
local list=;
local netservice="no";
[ -z "$1" -o -z "$2" ] && return 1;
for x in needsme usesme ibefore;
do
trace_depend "${x}" "$1" "list";
done;
net_service "$2" && netservice="yes";
for x in ${list};
do
[ "${x}" = "$2" ] && return 0;
[ "${netservice}" = "yes" -a "${x}" = "net" ] && return 0;
done;
return 1
}
checkpid () { local x=;
local count=0;
if [ "$#" -ne 1 -o -z "$1" -o -z "${DAEMONS}" -o "$(eval echo \${DAEMONS/$1/})" =
"${DAEMONS}" ]; then
return 3;
fi;
getpids;
for x in ${DAEMONS};
do
if [ "${x}" != "$1" ]; then
count=$((count + 1));
continue;
fi;
if [ -z "${PID_LIST[${count}]}" -a -n "${MASTER_PID[${count}]}" ]; then
return 2;
else
if [ -z "${PID_LIST[${count}]}" -a -z "${MASTER_PID[${count}]}" ]; then
return 3;
else
if [ -n "${MASTER_PID[${count}]}" -a ! -d /proc/${MASTER_PID[${count}]} ]; then
return 1;
fi;
fi;
fi;
count=$((count + 1));
done;
return 0
}
einfo () { if [ "${RC_QUIET_STDOUT}" != "yes" ]; then
echo -e " ${GOOD}*${NORMAL} ${*}";
fi;
return 0
}
mark_service_failed () { [ -z "$1" ] && return 1;
if [ -d "${svcdir}/failed" ]; then
ln -snf "/etc/init.d/$1" "${svcdir}/failed/$1";
return $?;
fi;
return 1
}
depinfo_fam () { export rc_name="fam";
export rc_ineed="portmap";
export rc_needsme=;
export rc_iuse=;
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
stop_service () { [ -z "$1" ] && return 1;
if service_started "$1"; then
( . /sbin/runscript.sh "/etc/init.d/$1" stop );
return $?;
fi;
return 0
}
getcols () { echo "$2"
}
depinfo_hostname () { export rc_name="hostname";
export rc_ineed="checkroot";
export rc_needsme="bootmisc dcron domainname metalog modules";
export rc_iuse=;
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
depinfo_netmount () { export rc_name="netmount";
export rc_ineed="net portmap";
export rc_needsme=;
export rc_iuse="nfs";
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
query_before () { local x=;
local list=;
local netservice="no";
[ -z "$1" -o -z "$2" ] && return 1;
for x in ineed iuse iafter;
do
trace_depend "${x}" "$1" "list";
done;
net_service "$2" && netservice="yes";
for x in ${list};
do
[ "${x}" = "$2" ] && return 0;
[ "${netservice}" = "yes" -a "${x}" = "net" ] && return 0;
done;
return 1
}
wrap_rcscript () { local retval=1;
local myservice="${1##*/}";
( echo "function test_script() {";
cat "$1";
echo "}" ) >"${svcdir}/${myservice}-$$";
if source "${svcdir}/${myservice}-$$" 1>&/dev/null; then
test_script 1>&/dev/null;
retval=0;
fi;
rm -f "${svcdir}/${myservice}-$$";
return "${retval}"
}
depinfo_inetd () { export rc_name="inetd";
export rc_ineed="net";
export rc_needsme=;
export rc_iuse=;
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="checkroot portmap";
export rc_broken=;
export rc_parallel=
}
depinfo_netDOTppp0 () { export rc_name="net.ppp0";
export rc_ineed=;
export rc_needsme=;
export rc_iuse=;
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
valid_iafter () { local x=;
for x in $(iafter "$1");
do
if [ -e "/etc/runlevels/boot/${x}" -o -e "/etc/runlevels/${mylevel}/${x}" ]; then
echo "${x}";
fi;
done;
return 0
}
checkserver () { if get_bootparam "adelie"; then
[ "$(< "${svcdir}/hostname")" = "(none)" ] || return 1;
fi;
return 0
}
iafter () { [ -z "$1" ] && return 1;
check_dependency iafter $*;
return $?
}
depinfo_local () { export rc_name="local";
export rc_ineed=;
export rc_needsme=;
export rc_iuse=;
export rc_usesme=;
export rc_ibefore=;
export rc_iafter="alsasound bootmisc checkfs checkroot clock consolefont crypto-loop
cupsd dcron domainname fam gkrellmd hdparm hostname hotplug inetd iptables keymaps
localmount metalog modules net.eth0 net.lo net.ppp0 netmount nfs nfsmount nscd ntpd
numlock portmap rmnologin rsyncd samba serial slpd sshd switch urandom winbind xdm xfs
ypbind zetagrid";
export rc_broken=;
export rc_parallel=
}
service_started () { [ -z "$1" ] && return 1;
if [ -L "${svcdir}/started/$1" ]; then
return 0;
fi;
return 1
}
depinfo_hdparm () { export rc_name="hdparm";
export rc_ineed="localmount";
export rc_needsme=;
export rc_iuse=;
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
depinfo_ntpd () { export rc_name="ntpd";
export rc_ineed="net";
export rc_needsme=;
export rc_iuse="metalog";
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
net_service () { [ -z "$1" ] && return 1;
if [ "${1%%.*}" = "net" -a "${1##*.}" != "$1" ]; then
return 0;
fi;
return 0
}
getpidfile () { local x=;
local y=;
local count=0;
local count2=0;
if [ "$#" -ne 1 -o -z "${DAEMONS}" ]; then
return 1;
else
for x in ${DAEMONS};
do
if [ "${x}" != "$1" ]; then
count=$((count + 1));
continue;
fi;
if [ -n "${PID_FILES}" ]; then
count2=0;
for y in ${PID_FILES};
do
if [ "${count}" -eq "${count2}" -a -f ${y} ]; then
echo "${y}";
return 0;
fi;
count2=$((count2 + 1));
done;
for y in ${PID_FILES};
do
if [ "$(eval echo \${y/${x}/})" != "${y}" -a -f ${y} ]; then
echo "${y}";
return 0;
fi;
done;
else
if [ -f /var/run/${x}.pid ]; then
echo "/var/run/${x}.pid";
return 0;
else
if [ -f /var/run/${myservice}/${x}.pid ]; then
echo "/var/run/${myservice}/${x}.pid";
return 0;
fi;
fi;
fi;
count=$((count + 1));
done;
fi;
return 1
}
depinfo_nscd () { export rc_name="nscd";
export rc_ineed=;
export rc_needsme=;
export rc_iuse=;
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
depinfo_urandom () { export rc_name="urandom";
export rc_ineed="localmount";
export rc_needsme=;
export rc_iuse=;
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
depinfo_numlock () { export rc_name="numlock";
export rc_ineed="localmount";
export rc_needsme=;
export rc_iuse=;
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
depinfo_net () { export rc_name="net";
export rc_ineed=;
export rc_needsme="cupsd gkrellmd inetd iptables netmount nfs nfsmount ntpd portmap
samba slpd sshd winbind ypbind";
export rc_iuse=;
export rc_usesme="rsyncd";
export rc_ibefore=;
export rc_iafter=;
export rc_broken=;
export rc_parallel=
}
get_options () { if [ -f "${svcdir}/options/${myservice}/$1" ]; then
echo "$(< ${svcdir}/options/${myservice}/$1)";
fi;
return 0
}
depinfo_cryptoDASHloop () { export rc_name="crypto-loop";
export rc_ineed="checkroot modules";
export rc_needsme=;
export rc_iuse=;
export rc_usesme=;
export rc_ibefore="local localmount";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
depinfo_netDOTeth0 () { export rc_name="net.eth0";
export rc_ineed=;
export rc_needsme=;
export rc_iuse="hotplug";
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
depinfo_modules () { export rc_name="modules";
export rc_ineed="checkroot hostname";
export rc_needsme="checkfs crypto-loop hotplug";
export rc_iuse=;
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="alsasound checkroot";
export rc_broken=;
export rc_parallel=
}
depinfo_rsyncd () { export rc_name="rsyncd";
export rc_ineed=;
export rc_needsme=;
export rc_iuse="net";
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
ebegin () { if [ "${RC_QUIET_STDOUT}" != "yes" ]; then
if [ "${RC_NOCOLOR}" = "yes" ]; then
echo -ne " ${GOOD}*${NORMAL} ${*}...";
else
echo -e " ${GOOD}*${NORMAL} ${*}...";
fi;
fi;
return 0
}
get_KV () { local KV="$(< /proc/sys/kernel/osrelease)";
echo "$(KV_to_int "${KV}")";
return $?
}
mark_service_started () { [ -z "$1" ] && return 1;
ln -snf "/etc/init.d/$1" "${svcdir}/started/$1";
return $?
}
depinfo_hotplug () { export rc_name="hotplug";
export rc_ineed="modules";
export rc_needsme=;
export rc_iuse=;
export rc_usesme="net.eth0 xdm";
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
eend () { local retval=;
if [ "$#" -eq 0 ] || ( [ -n "$1" ] && [ "$1" -eq 0 ] ); then
if [ "${RC_QUIET_STDOUT}" != "yes" ]; then
echo -e "${ENDCOL} ${BRACKET}[ ${GOOD}ok${BRACKET} ]${NORMAL}";
fi;
else
retval="$1";
if [ "$#" -ge 2 ]; then
shift;
eerror "${*}";
fi;
if [ "${RC_QUIET_STDOUT}" != "yes" ]; then
echo -e "${ENDCOL} ${BRACKET}[ ${BAD}!!${BRACKET} ]${NORMAL}";
echo;
fi;
return ${retval};
fi;
return 0
}
trace_depend () { local x=;
local y=;
local add=;
[ -z "$1" -o -z "$2" -o -z "$3" ] && return 1;
for x in "$("$1" "$2")";
do
add="yes";
for y in $(eval echo "\${$3}");
do
[ "${x}" = "${y}" ] && add="no";
done;
[ "${add}" = "yes" ] && eval $(echo "$3=\"\${$3} ${x}\"");
trace_depend "$1" "${x}" "$3";
done;
return 0
}
depinfo_keymaps () { export rc_name="keymaps";
export rc_ineed="localmount";
export rc_needsme=;
export rc_iuse=;
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
depinfo_zetagrid () { export rc_name="zetagrid";
export rc_ineed=;
export rc_needsme=;
export rc_iuse=;
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
schedule_service_startup () { local count=0;
local current_job=;
if [ "${RC_PARALLEL_STARTUP}" = "yes" ]; then
set -m +b;
if [ "$(jobs | grep -c "Running")" -gt 0 ]; then
if [ "$(jobs | grep -c "Running")" -eq 1 ]; then
if [ -n "$(jobs)" ]; then
current_job="$(jobs | awk '/Running/ { print $4}')";
fi;
query_before "$1" "${current_job}" && wait;
else
if [ "$(jobs | grep -c "Running")" -ge 2 ]; then
count="$(jobs | grep -c "Running")";
while [ "${count}" -gt 1 ]; do
count="$(jobs | grep -c "Running")";
done;
if [ -n "$(jobs)" ]; then
current_job="$(jobs | awk '/Running/ { print $4}')";
fi;
query_before "$1" "${current_job}" && wait;
fi;
fi;
fi;
if iparallel "$1"; then
eval start_service "$1" \&
else
start_service "$1";
fi;
else
start_service "$1";
fi;
return 0
}
esyslog () { local pri=;
local tag=;
if [ -x /usr/bin/logger ]; then
pri="$1";
tag="$2";
shift 2;
[ -z "$*" ] && return 0;
/usr/bin/logger -p "${pri}" -t "${tag}" -- "$*";
fi;
return 0
}
depinfo_localmount () { export rc_name="localmount";
export rc_ineed="checkfs";
export rc_needsme="alsasound bootmisc clock consolefont hdparm keymaps numlock
rmnologin serial urandom";
export rc_iuse=;
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="checkroot crypto-loop";
export rc_broken=;
export rc_parallel=
}
runlevel_stop () { [ -d "${svcdir}/softscripts.new" ] && return 0;
return 1
}
stop-daemons () { local x=;
local count=0;
local retval=0;
local tmpretval=0;
local pidretval=0;
local retry="no";
local ssdargs=;
if [ -z "${DAEMONS}" ]; then
return 0;
fi;
for x in $*;
do
case ${x} in
--kill-pidfile)
ssdargs="${ssdargs} --kill-pidfile"
;;
--fail-zombie)
ssdargs="${ssdargs} --fail-zombie"
;;
--retry)
retry="yes"
;;
*)
eerror " ERROR: invalid argument to stop-daemon()!";
return 1
;;
esac;
done;
if [ "${retry}" = "yes" -o "${RC_RETRY_KILL}" = "yes" ]; then
for x in ${DAEMONS};
do
count=0;
pidretval=0;
while ( [ "${pidretval}" -eq 0 -o "${pidretval}" -eq 1 ] ) && [ "${count}" -lt
"${RC_RETRY_COUNT}" ]; do
if [ "${count}" -ne 0 -a -n "${RC_RETRY_TIMEOUT}" ]; then
sleep ${RC_RETRY_TIMEOUT};
fi;
stop-single-daemon ${ssdargs} ${x};
tmpretval=$?;
checkpid ${x};
pidretval=$?;
count=$((count + 1));
done;
retval=$((retval + tmpretval));
done;
else
for x in ${DAEMONS};
do
stop-single-daemon ${ssdargs} ${x};
retval=$((retval + $?));
done;
fi;
return ${retval}
}
needsme () { [ -z "$1" ] && return 1;
check_dependency needsme $*;
return $?
}
mark_service_stopped () { [ -z "$1" ] && return 1;
rm -f "${svcdir}/started/$1";
return $?
}
KV_micro () { local KV=;
[ -z "$1" ] && return 1;
KV="$(echo "$1" | awk '{ tmp = $0; gsub(/^[0-9\.]*/, "", tmp); sub(tmp,
""); print }')";
echo "${KV}" | awk -- 'BEGIN { FS = "." } { print $3 }';
return 0
}
iuse () { [ -z "$1" ] && return 1;
check_dependency iuse $*;
return $?
}
ewend () { local retval=;
if [ "$#" -eq 0 ] || ( [ -n "$1" ] && [ "$1" -eq 0 ] ); then
if [ "${RC_QUIET_STDOUT}" != "yes" ]; then
echo -e "${ENDCOL} ${BRACKET}[ ${GOOD}ok${BRACKET} ]${NORMAL}";
fi;
else
retval="$1";
if [ "$#" -ge 2 ]; then
shift;
ewarn "${*}";
fi;
if [ "${RC_QUIET_STDOUT}" != "yes" ]; then
echo -e "${ENDCOL} ${BRACKET}[ ${WARN}!!${BRACKET} ]${NORMAL}";
echo;
fi;
return "${retval}";
fi;
return 0
}
KV_to_int () { local KV_MAJOR=;
local KV_MINOR=;
local KV_MICRO=;
local KV_int=;
[ -z "$1" ] && return 1;
KV_MAJOR="$(KV_major "$1")";
KV_MINOR="$(KV_minor "$1")";
KV_MICRO="$(KV_micro "$1")";
KV_int="$((KV_MAJOR * 65536 + KV_MINOR * 256 + KV_MICRO))";
if [ "${KV_int}" -ge 131584 ]; then
echo "${KV_int}";
return 0;
fi;
return 1
}
depinfo_checkfs () { export rc_name="checkfs";
export rc_ineed="checkroot modules";
export rc_needsme="localmount";
export rc_iuse=;
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
get_dep_info () { local myservice="$1";
myservice="${myservice//\./DOT}";
myservice="${myservice//-/DASH}";
[ -z "$1" ] && return 1;
[ "${rc_name}" = "$1" ] && return 0;
if [ -z "$(declare -F "depinfo_${myservice}")" ]; then
return 1;
fi;
"depinfo_${myservice}";
return 0
}
depinfo_bootmisc () { export rc_name="bootmisc";
export rc_ineed="clock hostname localmount";
export rc_needsme="alsasound";
export rc_iuse=;
export rc_usesme=;
export rc_ibefore="local metalog";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
runlevel_start () { [ -d "${svcdir}/softscripts.old" ] && return 0;
return 1
}
depinfo_portmap () { export rc_name="portmap";
export rc_ineed="net";
export rc_needsme="fam netmount nfs nfsmount ypbind";
export rc_iuse=;
export rc_usesme=;
export rc_ibefore="inetd local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
depinfo_ypbind () { export rc_name="ypbind";
export rc_ineed="net portmap";
export rc_needsme=;
export rc_iuse=;
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
eerror () { if [ "${RC_QUIET_STDOUT}" = "yes" ]; then
echo " ${*}" >/dev/stderr;
else
echo -e " ${BAD}*${NORMAL} ${*}";
fi;
esyslog "daemon.err" "rc-scripts" "${*}";
return 0
}
depinfo_metalog () { export rc_name="metalog";
export rc_ineed="clock hostname";
export rc_needsme="dcron iptables";
export rc_iuse=;
export rc_usesme="ntpd xfs";
export rc_ibefore="local";
export rc_iafter="bootmisc checkroot";
export rc_broken=;
export rc_parallel=
}
ineed () { [ -z "$1" ] && return 1;
check_dependency ineed $*;
return $?
}
depinfo_iptables () { export rc_name="iptables";
export rc_ineed="metalog net";
export rc_needsme=;
export rc_iuse=;
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
depinfo_domainname () { export rc_name="domainname";
export rc_ineed="checkroot hostname";
export rc_needsme=;
export rc_iuse=;
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
broken () { [ -z "$1" ] && return 1;
check_dependency broken $*;
return $?
}
save_options () { local myopts="$1";
shift;
if [ ! -d "${svcdir}/options/${myservice}" ]; then
install -d -m0755 "${svcdir}/options/${myservice}";
fi;
echo "$*" >"${svcdir}/options/${myservice}/${myopts}";
return 0
}
depinfo_nfsmount () { export rc_name="nfsmount";
export rc_ineed="net portmap";
export rc_needsme=;
export rc_iuse=;
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
depinfo_samba () { export rc_name="samba";
export rc_ineed="net";
export rc_needsme=;
export rc_iuse="cupsd";
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
start_service () { [ -z "$1" ] && return 1;
if ! service_started "$1"; then
( . /sbin/runscript.sh "/etc/init.d/$1" start );
return $?;
fi;
return 0
}
KV_major () { local KV=;
[ -z "$1" ] && return 1;
KV="$(echo "$1" | awk '{ tmp = $0; gsub(/^[0-9\.]*/, "", tmp); sub(tmp,
""); print }')";
echo "${KV}" | awk -- 'BEGIN { FS = "." } { print $1 }';
return 0
}
dolisting () { local x=;
local y=;
local tmpstr=;
local mylist=;
local mypath="${*}";
if [ "${mypath%/\*}" != "${mypath}" ]; then
mypath="${mypath%/\*}";
fi;
for x in ${mypath};
do
[ ! -e "${x}" ] && continue;
if [ ! -d "${x}" ] && ( [ -L "${x}" -o -f "${x}" ] ); then
mylist="${mylist} $(ls "${x}" 2> /dev/null)";
else
[ "${x%/}" != "${x}" ] && x="${x%/}";
cd "${x}";
tmpstr="$(ls)";
for y in ${tmpstr};
do
mylist="${mylist} ${x}/${y}";
done;
fi;
done;
echo "${mylist}"
}
depinfo_winbind () { export rc_name="winbind";
export rc_ineed="net";
export rc_needsme=;
export rc_iuse=;
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
get_bootparam () { local x=;
local copt=;
local parms=;
local retval=1;
for copt in $(< /proc/cmdline);
do
if [ "${copt%=*}" = "gentoo" ]; then
params="$(gawk -v PARAMS="${copt##*=}" '
BEGIN {
split(PARAMS, nodes, ",")
for (x in nodes)
print nodes[x]
}')";
for x in ${params};
do
if [ "${x}" = "$1" ]; then
retval=0;
fi;
done;
fi;
done;
return ${retval}
}
depinfo_dcron () { export rc_name="dcron";
export rc_ineed="clock hostname metalog";
export rc_needsme=;
export rc_iuse=;
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
getpids () { local x=;
local count=0;
local pidfile=;
if [ -n "${DAEMONS}" ]; then
for x in ${DAEMONS};
do
MASTER_PID[${count}]=;
PID_LIST[${count}]=;
pidfile="$(getpidfile ${x})";
if [ -n "${pidfile}" ]; then
MASTER_PID[${count}]="$(< ${pidfile})";
fi;
if [ -n "$(pidof ${x})" ]; then
PID_LIST[${count}]="$(pidof ${x})";
fi;
count=$((count + 1));
done;
fi;
return 0
}
depinfo_rmnologin () { export rc_name="rmnologin";
export rc_ineed="localmount";
export rc_needsme=;
export rc_iuse=;
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
depinfo_cupsd () { export rc_name="cupsd";
export rc_ineed="net";
export rc_needsme=;
export rc_iuse=;
export rc_usesme="samba";
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
depinfo_netDOTlo () { export rc_name="net.lo";
export rc_ineed=;
export rc_needsme=;
export rc_iuse=;
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
depinfo_xfs () { export rc_name="xfs";
export rc_ineed=;
export rc_needsme=;
export rc_iuse="metalog";
export rc_usesme="xdm";
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
depinfo_sshd () { export rc_name="sshd";
export rc_ineed="net";
export rc_needsme=;
export rc_iuse=;
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
check_dependency () { local x=;
[ -z "$1" -o -z "$2" ] && return 1;
if [ "$2" = "-t" ]; then
[ -z "$3" -o -z "$4" ] && return 1;
get_dep_info "$3" 1>&/dev/null || {
eerror "Could not get dependency info for \"$3\"!" >/dev/stderr;
return 1
};
else
get_dep_info "$2" 1>&/dev/null || {
eerror "Could not get dependency info for \"$2\"!" >/dev/stderr;
return 1
};
fi;
[ -z "$(eval echo \${rc_$1})" ] && return 1;
if [ "$2" = "-t" -a -n "$4" ]; then
for x in $(eval echo \${rc_$1});
do
[ "${x}" = "$4" ] && return 0;
done;
else
eval echo "\${rc_$1}";
return 0;
fi;
return 1
}
ibefore () { [ -z "$1" ] && return 1;
check_dependency ibefore $*;
return $?
}
iparallel () { [ -z "$1" ] && return 1;
if check_dependency parallel -t "$1" "no"; then
return 1;
fi;
return 0
}
init_node () { local DIR=;
local SUBDIR=;
local EMPTYDIR=;
ebegin "Importing local userspace on node";
try mount -t tmpfs none "${shmdir}";
for DIR in /etc /var /root;
do
if grep -q -v "^${DIR}[[:space:]]" /etc/exports; then
mount -o nolock -n server:"${DIR}" "${DIR}";
fi;
if [ -e "/etc/conf.d/exclude/${DIR}" ]; then
find "${DIR}/" -type d | grep -v -f "/etc/conf.d/exclude/${DIR}"
>"${shmdir}/${DIR}.lst";
else
find "${DIR}/" -type d >"${shmdir}/${DIR}.lst";
fi;
for SUBDIR in $(< "${shmdir}/${DIR}.lst");
do
mkdir -p "${shmdir}/${SUBDIR}";
chmod --reference="${SUBDIR}" "${shmdir}/${SUBDIR}";
cp -dp "${SUBDIR}"/* "${shmdir}/${SUBDIR}" 1>&/dev/null;
done;
if [ -e "/etc/conf.d/exclude/${DIR}" ]; then
for EMPTYDIR in $(< "/etc/conf.d/exclude/${DIR}");
do
mkdir -p "${shmdir}/${EMPTYDIR}";
chmod --reference="${SUBDIR}" "${shmdir}/${SUBDIR}";
done;
fi;
umount -n "${DIR}" >/dev/null;
mount -n -o bind "${shmdir}/${DIR}" "${DIR}";
done;
mkdir -p "${shmdir}/tmp";
chmod 0777 "${shmdir}/tmp";
mount -n -o bind "${shmdir}/tmp" /tmp;
cat /proc/mounts >/etc/mtab;
cp -f /etc/inittab.node /etc/inittab;
[ -e /etc/fstab.node ] && cp -f /etc/fstab.node /etc/fstab;
killall -1 init;
eend 0;
return 0
}
KV_minor () { local KV=;
[ -z "$1" ] && return 1;
KV="$(echo "$1" | awk '{ tmp = $0; gsub(/^[0-9\.]*/, "", tmp); sub(tmp,
""); print }')";
echo "${KV}" | awk -- 'BEGIN { FS = "." } { print $2 }';
return 0
}
depinfo_switch () { export rc_name="switch";
export rc_ineed=;
export rc_needsme=;
export rc_iuse=;
export rc_usesme=;
export rc_ibefore="local";
export rc_iafter="checkroot";
export rc_broken=;
export rc_parallel=
}
stop-single-daemon () { local retval=0;
local pidfile=;
local pidretval=0;
local killpidfile="no";
local failonzombie="no";
local daemon=;
local SSD="start-stop-daemon --stop --quiet";
for x in $*;
do
case ${x} in
--kill-pidfile)
killpidfile="yes"
;;
--fail-zombie)
failonzombie="yes"
;;
*)
if [ "$(eval echo \${DAEMONS/${x}/})" != "${DAEMONS}" ]; then
if [ -n "${daemon}" ]; then
return 1;
fi;
daemon="${x}";
fi
;;
esac;
done;
if [ -z "${DAEMONS}" -o "$#" -lt 1 -o -z "${daemon}" ]; then
return 1;
else
checkpid ${daemon};
pidretval=$?;
if [ "${pidretval}" -eq 0 ]; then
pidfile="$(getpidfile ${daemon})";
if [ -n "${pidfile}" ]; then
${SSD} --pidfile ${pidfile};
retval=$?;
else
${SSD} --name ${daemon};
retval=$?;
fi;
else
if [ "${pidretval}" -eq 1 ]; then
${SSD} --name ${daemon};
retval=$?;
else
if [ "${pidretval}" -eq 2 ]; then
if [ "${RC_FAIL_ON_ZOMBIE}" = "yes" -o "${failonzombie}" = "yes" ]; then
retval=1;
fi;
else
if [ "${pidretval}" -eq 3 ]; then
if [ "${RC_FAIL_ON_ZOMBIE}" = "yes" -o "${failonzombie}" = "yes" ]; then
retval=1;
fi;
fi;
fi;
fi;
fi;
fi;
if [ "${killpidfile}" = "yes" ]; then
checkpid ${daemon};
pidretval=$?;
if [ "${pidretval}" -eq 2 -o "${pidretval}" -eq 3 ]; then
rm -f $(getpidfile ${x});
fi;
fi;
if [ "${retval}" -eq 0 ]; then
checkpid ${daemon};
pidretval=$?;
if [ "${pidretval}" -eq 0 -o "${pidretval}" -eq 1 ]; then
retval=$((retval + 1));
fi;
fi;
return ${retval}
}
in_runlevel () { [ -z "$1" -o -z "$2" ] && return 1;
[ -L "/etc/runlevels/$2/$1" ] && return 0;
return 1
}
valid_iuse () { local x=;
local y=;
for x in $(iuse "$1");
do
if [ -e "/etc/runlevels/boot/${x}" -o -e "/etc/runlevels/${mylevel}/${x}" ]; then
echo "${x}";
fi;
done;
return 0
}
#!/bin/sh -v
rm -f /www/servers/mirrors.phauna.org/archives/latex.tar.gz
/usr/bin/wget -P /www/servers/mirrors.phauna.org/archives/ \
"ftp://ftp.giss.nasa.gov/pub/sgreen/latex/latex.tar.gz"
--09:00:02-- ftp://ftp.giss.nasa.gov/pub/sgreen/latex/latex.tar.gz
=> `/www/servers/mirrors.phauna.org/archives//latex.tar.gz'
Resolving ftp.giss.nasa.gov... done.
Connecting to ftp.giss.nasa.gov[169.154.204.80]:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD /pub/sgreen/latex ... done.
==> PORT ... done. ==> RETR latex.tar.gz ... done.
Length: 81,840 (unauthoritative)
0K .......... .......... .......... .......... .......... 62% 39.2K
50K .......... .......... ......... 100% 77.7K
09:00:06 (48.09 KB/s) - `/www/servers/mirrors.phauna.org/archives//latex.tar.gz' saved
[81840]
tar xzf /www/servers/mirrors.phauna.org/archives/latex.tar.gz \
-C /www/servers/mirrors.phauna.org/pub/www.giss.nasa.gov/latex/
--
[EMAIL PROTECTED] mailing list