I have a system with several different users and would like to use cron to run 
this script as root:

#!/bin/bash

for user in `ls /home/`; do
#       echo "Path: $user"
        if [ "${user:0:1}" != "0" ]; then
                path="/home/$user/Backup"
                if [ -e $path ]; then
                        echo "Calling backup for user: $user"
                        sudo -u $user /usr/local/bin/user-backup
                fi
        fi
done

The idea is that instead of adding a backup script every time I add a user, 
this script will go through the /home directories and skip any that start with 
a 0 (a program I'm using creates some directories there, but starts their names 
with a 0) and automatically call the generic backup script for that user.

The problem is sudo can't be run without a tty, so I can run it myself, but it 
won't run from a script.

I want the backup script to run under each user's name to match the user on the 
backup system.

Are there other ways to do this with an "all-in-one" approach?  Either for a 
script run as root to run scripts with the id of the users or some generic way 
to tell cron to run a script once for each user that meets certain conditions?

I prefer the all-in-one solutions, since when I add a user, I'm adding it to 
their system, to this backup NAS, and to an offsite backup NAS, and even though 
I use notes, it's easy to forget having to do extra things when adding a user.  
So I'd really prefer a solution that handles all of them at once.

Any other way I can do this?



Thanks!



Hal

--
To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/6f014e0d-554d-449c-8a28-0e989a86d...@halblog.com

Reply via email to