Merge pull request #10629 from bcoca/backup_local_exists

backup_local now only tries to back up exising files, returns '' otherwise
pull/10618/head
Brian Coca 10 years ago
commit e6fa169a05

@ -1297,14 +1297,18 @@ class AnsibleModule(object):
def backup_local(self, fn): def backup_local(self, fn):
'''make a date-marked backup of the specified file, return True or False on success or failure''' '''make a date-marked backup of the specified file, return True or False on success or failure'''
# backups named basename-YYYY-MM-DD@HH:MM:SS~
ext = time.strftime("%Y-%m-%d@%H:%M:%S~", time.localtime(time.time()))
backupdest = '%s.%s' % (fn, ext)
try: backupdest = ''
shutil.copy2(fn, backupdest) if os.path.exists(fn):
except (shutil.Error, IOError), e: # backups named basename-YYYY-MM-DD@HH:MM:SS~
self.fail_json(msg='Could not make backup of %s to %s: %s' % (fn, backupdest, e)) ext = time.strftime("%Y-%m-%d@%H:%M:%S~", time.localtime(time.time()))
backupdest = '%s.%s' % (fn, ext)
try:
shutil.copy2(fn, backupdest)
except (shutil.Error, IOError), e:
self.fail_json(msg='Could not make backup of %s to %s: %s' % (fn, backupdest, e))
return backupdest return backupdest
def cleanup(self, tmpfile): def cleanup(self, tmpfile):

Loading…
Cancel
Save