On Tue, Oct 13, 2009 at 4:14 PM, Dave Angel <da...@ieee.org> wrote:
> (You top-posted, instead of adding your part to the end. That's frowned > upon in a mailing list, at least in this one.) > (You replied privately, and forgot to CC the tutor list. I'm forwarding it > there with my response) > > > David Eric wrote: > >> wow thank you >> yes...youre right i did want to pass a list of strings >> im copying the sample program and adding my own directories, i missed what >> the example was trying to show in that instance. >> as far as the recursive option, you mean the -r would process all >> subdirectories under /Users? >> im sorry for being so ignorant on this but what would be an example of an >> innoucuous script? >> >> >> >> On Tue, Oct 13, 2009 at 3:23 PM, Dave Angel <da...@ieee.org> wrote: >> >> >> >>> David Eric wrote: >>> >>> >>> >>>> doing a python tutorial and one of the assignments says to develop a >>>> program >>>> that backsup files to zip files into a backup directory >>>> >>>> im using Darwin 10.0.0 unix version: >>>> >>>> this is what i came up with thus far, i did copy the sample program >>>> given >>>> but made changes for my unix OS: >>>> >>>> #!/usr/bin/env python >>>> # Filename : backup_prog.py >>>> >>>> >>>> import os >>>> import time >>>> >>>> source = '/Users/davidteboul/bin/python' >>>> >>>> target_dir = '/Users/davidteboul/backups' >>>> >>>> target = target_dir + os.sep + time.strftime('%Y%m%d%H%M%S') + '.gz' >>>> >>>> zip_command = "gzip -qr {0} {1}".format(target, ' '.join(source)) >>>> >>>> if os.system(zip_command) == 0: >>>> print('Successful backup to', target) >>>> else: print('Backup FAILED') >>>> >>>> >>>> >>>> >>>> >>>> >>> When launching external programs you're not familiar with, you really >>> need >>> to do a dry-run test, just to be sure. It wouldn't have been hard to >>> come >>> up with something that trashes your system. (Ask me, I issued a Unix >>> command once that was deleting all files in a valuable tree, and the only >>> thing that saved my bacon was that Unix file I/O was so slow. It only >>> did >>> about two files per second, so I was able to Ctrl-C after only losing >>> about >>> 5 files, all of which were quickly recoverable. The next directory down >>> would have been a disaster, however, and had it completed, we would have >>> had >>> to restore from the previous night's nightly backup, effectively wasting >>> the >>> day for most employees.) >>> >>> >>> I see two problems, but since I don't know gzip, there may very well be >>> more. >>> >>> The -r switch on nearly all Unix utilities means "recurse" which means to >>> process all subdirectories of the starting location. >>> >>> The ' '.join(source) takes your source string, and puts spaces as every >>> second character. The only thing I can think of you might have meant was >>> to >>> pass it a list of strings. So if source were >>> source = ['/Users/davidteboul/bin/python', >>> '/Users/davidteboul/bin/perl'] >>> >>> then it'd make sense. >>> >>> Anyway, I'd launch some innocuous script, that echoes its arguments, >>> rather >>> than trying it directly on gzip. And of course, I'd look at the man >>> page >>> for gzip, to see just what its arguments are supposed to look like. >>> >>> DaveA >>> >>> >>> >>> >> I haven't used Unix in over 15 years, so I don't remember. But I think it > had something like 'echo' that simply echoed its arguments to stdout. In > Windows, I'd make a one-line batch file like: > > Echo Running %0 script, with parameters %* > > or > > Echo Running %0 script, with parameters %1, %2, %3, %4, %5 > > The script could also display things like the current directory, maybe some > environment variables. Whatever might be relevant to help see what's going > on. > > The -r switch should mean to process all files in > /Users/davidteboul/bin/python, plus all files in any of its subdirectories. > Not starting at /Users, just starting in that ...../python directory. > > HTH > DaveA > > Sorry about the top posting and not CC'ing tutor@python.org > >
_______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor