# Shell script to mail all users reminders.

# Thanks to Bill Aten for this script.

# Run it AFTER MIDNIGHT so that date is correct!
# On our system, we have the following in our crontab:
# 02 00 * * * /usr/local/adm/remind-all >/dev/null 2>&1

# Also, you MUST use the -r and -q options on REMIND, otherwise a SEVERE
# security hole could develop.  I recommend making this script
# readable and executable only by root to minimize security problems.
# DO NOT make the script setuid!

# The following line gets a list of users for systems using SUN's
# NIS service:
# USERS=`ypcat passwd | awk -F: '{print $1}'`

# The following line gets a list of users by examining /etc/passwd:
USERS=`awk -F: '{print $1}' /etc/passwd`

# If neither of the above methods works, you must come up with some
# way of getting a list of users on the system

# Set the following variables as appropriate for your system
REMIND=/usr/local/bin/remind
MAIL=/usr/bin/mail
RM="/bin/rm -f"

REMFILE=/tmp/RemFile.$$

# Scan each user's directory for a .reminders file
for i in $USERS
do
HOME=`grep \^$i: /etc/passwd | awk -F: '{print $6}'`
   if [ -r $HOME/.reminders ]; then

#     echo "$i has a .reminders file."     DEBUGGING PURPOSES ONLY

      su - $i -c "$REMIND -rqh $HOME/.reminders" < /dev/null > $REMFILE
      if [ -s $REMFILE ]; then
#        echo "Sending mail to $i"         DEBUGGING PURPOSES ONLY
         $MAIL -s "Reminders" $i < $REMFILE
      fi
      $RM $REMFILE
   fi
done
