From: Craig B. <cr...@at...> - 2003-02-22 03:52:06
|
> Hope your well. I've got a couple questions. I want to send the end > user a message of a pending backup and pause for 5 minutes, so the user > can get out of whatever programs that they may be in so backups can > pickup the data (Say Excel or Word documents). I thought that I'd use > the DumpPreUserCmd to notify of pending backups and DumpPostUserCmd to > notify when the backup had completed. > > I was trying $Conf{DumpPreUserCmd} = 'cat /home/data/message.txt | > smbclient -U BackupPC -M $host | sleep 5m' > > Aparently BackupPC won't handle the pipe in this command because the > logs report that the -U option is not valid for cat. Is there a better > way to do this? For 2.0 I switched to explicitly using exec(), rather than system() with just a string for all sub programs. exec() doesn't use a shell. The reason for this was to avoid problems with special characters (like $ or spaces) in file names, host names or share names etc. So pipes and file redirection and other shell features won't work. But you can do two things: - create a script that does the work, eg: $Conf{DumpPreUserCmd} = '/usr/local/bin/sendBackupMessage $host'; and /usr/local/bin/sendBackupMessage would look something like: #!/bin/csh -f cat /home/data/message.txt | smbclient -U BackupPC -M $1 sleep 5m - explicitly run '/bin/csh -c command' in $Conf{DumpPreUserCmd}. /bin/csh -c expects a single argument. You can use an array to make specifying each argument easier, eg: $Conf{DumpPreUserCmd} = [ '/bin/csh', '-c', 'cat /home/data/message.txt | smbclient -U BackupPC -M $host | sleep 5m', ]; Tell me if this last form works so I can add it to the FAQ and/or docs. The splash message is a clever use for DumpPreUserCmd (although most users might find it annoying). > I was thinking about creating a script, but didn't know if the $host > would be passed. Will the sleep command cause any problems? Sleep should be ok. It should simply delay the dump by 5 mins. > Also, is there a different area that you'd prefer to be used for > feature requests or is the list fine? This list is fine. Complete documented implementations of new features are welcome too :). Craig |
From: Craig B. <cr...@at...> - 2003-02-24 05:24:09
|
> As a fall back, I wanted to use a command line email > program to send users emails instead of popups, does > BackupPC have a variable for access to the second field in the host > file? Maybe $email or something that will signify the > second field? 2.0.0 beta0 supports $user in the Pre/Post command substitution for the user name from the hosts file. Craig |
From: Doug L. <su...@dr...> - 2003-02-22 18:28:26
|
Craig Barratt wrote: >So pipes and file redirection and other shell features won't work. > > Ah! >But you can do two things: > > - create a script that does the work, eg: > > $Conf{DumpPreUserCmd} = '/usr/local/bin/sendBackupMessage $host'; > > and /usr/local/bin/sendBackupMessage would look something like: > > #!/bin/csh -f > > cat /home/data/message.txt | smbclient -U BackupPC -M $1 > sleep 5m > > This works very well. >Tell me if this last form works so I can add it to the FAQ and/or docs. >The splash message is a clever use for DumpPreUserCmd (although most >users might find it annoying). > > This does work for the WinNT & Win2k boxes (They have the messaging client running as a service by default), but Win9x boxes would have to be running WinPopUp or something similar before messages would be received. I just got the aproval to put together a system for this and will be testing in the upcoming weeks to find out how annoying this might be. As a fall back, I wanted to use a command line email program to send users emails instead of popups, does BackupPC have a variable for access to the second field in the host file? Maybe $email or something that will signify the second field? Doug |
From: Doug L. <su...@dr...> - 2003-02-23 14:17:23
|
Craig, I just re-read your least message. I'll try the below setup on Monday or Tuesday and report back my results. Doug Craig Barratt wrote: > - explicitly run '/bin/csh -c command' in $Conf{DumpPreUserCmd}. > /bin/csh -c expects a single argument. You can use an array > to make specifying each argument easier, eg: > > $Conf{DumpPreUserCmd} = [ > '/bin/csh', > '-c', > 'cat /home/data/message.txt | smbclient -U BackupPC -M $host | sleep 5m', > ]; > >Tell me if this last form works so I can add it to the FAQ and/or docs. > > |