On Aug 15, 2011, at 2:05 PM, Bob Proulx wrote: > Hal Vaughan wrote: >> 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 > > Personally if I were writing this then if the script is running as > root then instead of using 'sudo' here I would use 'su' instead. > > su -c /usr/local/bin/user-backup $user > > Mostly because su is more traditional and "more core" than sudo and > just seems like the better fit for the job. But it is a matter of > taste here.
Senile moment -- I keep forgetting that I can use su for different users, too. Thanks for the reminder! >> 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. > > Seems reasonable so far. Also you should skip directories called > "lost+found" in the case that /home happens to be a mount point on a > filesystem such as ext[23] that uses lost+found. Thanks for the reminder! >> 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. > > Using 'su' would solve that problem. > >> Any other way I can do this? > > There are distinct advantages to a backup push system. Not proposing > that you change away from it. But I tend to pull backups from /home > to the backup server. This means that whatever is in /home comes over > whether it is associated with a user's home directory or not. All I > manage is machines. Not machines and users. How is it that a pull system would get more? I didn't know there'd be files associated with a user that are outside of their home directory. 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/f25320a2-3441-4188-9071-c1218dc59...@halblog.com