Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
1290623456
|
|||
2a91a41ede
|
|||
46eed410f0
|
|||
2340a2f601
|
|||
bc055a8dfa
|
|||
97530e624a
|
|||
d1d9c3ca15
|
29
bin/zsnapper
29
bin/zsnapper
@ -5,6 +5,7 @@ import os
|
||||
import re
|
||||
import logging
|
||||
import logging.handlers
|
||||
import stat
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
@ -258,7 +259,7 @@ def weed_snapshots(fslist, snapshots, config, failed_snapshots):
|
||||
continue
|
||||
if source_fs not in snapshots:
|
||||
continue
|
||||
if not conf['weed_enable']:
|
||||
if not conf['weed_enable'] or conf['weed_enable'].lower() in ('false', 'no'):
|
||||
continue
|
||||
|
||||
kwargs = {k: int(v) for k, v in conf.items() if k in [
|
||||
@ -288,7 +289,8 @@ def weed_snapshots(fslist, snapshots, config, failed_snapshots):
|
||||
|
||||
def main():
|
||||
config = configparser.ConfigParser()
|
||||
config.read('/etc/zsnapper.ini')
|
||||
config.read(['/usr/local/etc/zsnapper.ini', '/etc/zsnapper.ini'])
|
||||
|
||||
ret = RET_CODES['SUCCESS']
|
||||
log = logging.getLogger(LOGGER)
|
||||
|
||||
@ -403,9 +405,22 @@ if __name__ == '__main__':
|
||||
handler.setLevel(logging.WARNING)
|
||||
log.addHandler(handler)
|
||||
|
||||
handler = logging.handlers.SysLogHandler(address='/dev/log')
|
||||
formatter = logging.Formatter(fmt='zsnapper[%(process)s] %(message)s')
|
||||
handler.setFormatter(formatter)
|
||||
handler.setLevel(logging.INFO)
|
||||
log.addHandler(handler)
|
||||
handler = None
|
||||
for logsocket in ('/var/run/log', '/dev/log'):
|
||||
try:
|
||||
mode = os.stat(logsocket).st_mode
|
||||
except FileNotFoundError:
|
||||
continue
|
||||
|
||||
if stat.S_ISSOCK(mode):
|
||||
handler = logging.handlers.SysLogHandler(address=logsocket)
|
||||
formatter = logging.Formatter(fmt='zsnapper[%(process)s] %(message)s')
|
||||
handler.setFormatter(formatter)
|
||||
handler.setLevel(logging.INFO)
|
||||
log.addHandler(handler)
|
||||
break
|
||||
|
||||
if not handler:
|
||||
log.warning('No syslog socket found, will not log to syslog')
|
||||
|
||||
sys.exit(main())
|
||||
|
2
setup.py
2
setup.py
@ -6,7 +6,7 @@ try:
|
||||
except ImportError:
|
||||
from distutils import setup
|
||||
|
||||
version = '0.3.1'
|
||||
version = '0.3.4'
|
||||
|
||||
setup(
|
||||
name='zsnapper',
|
||||
|
@ -37,7 +37,7 @@ def do_zfs_command(args, zfs_cmd, pipecmd=None):
|
||||
# check if we try to create a snapshot that already exists. This can happen
|
||||
# if the script is run every minute and it takes more time than that to
|
||||
# create all snapshots
|
||||
if ctrl_proc.returncode == 1 and re_match(re_err_ok, err):
|
||||
if ctrl_proc.returncode == 1 and re.match(re_err_ok, err.decode('utf-8')):
|
||||
pass
|
||||
elif ctrl_proc.returncode != 0:
|
||||
raise ZFSSnapshotError('Failed to execute {}: {}'.format(cmd, err))
|
||||
|
Reference in New Issue
Block a user