Make rcb dump env vars to properly escape them

This commit is contained in:
einarf 2024-01-05 03:50:13 +01:00
parent 405bd4af15
commit 093dab93ca
4 changed files with 15 additions and 3 deletions

View File

@ -1,7 +1,7 @@
#!/bin/sh
# Dump all env vars so we can source them in cron jobs
printenv | sed 's/^\(.*\)$/export \1/g' > /env.sh
rcb dump-env > /env.sh
# Write crontab
rcb crontab > crontab

View File

@ -1 +1 @@
__version__ = '0.6.0'
__version__ = '0.7.1'

View File

@ -51,6 +51,9 @@ def main():
elif args.action == "crontab":
crontab(config)
elif args.action == "dump-env":
dump_env()
# Random test stuff here
elif args.action == "test":
nodes = utils.get_swarm_nodes()
@ -290,6 +293,14 @@ def crontab(config):
print(cron.generate_crontab(config))
def dump_env():
"""Dump all environment variables to a script that can be sourced from cron"""
print("#!/bin/bash")
print("# This file was generated by restic-compose-backup")
for key, value in os.environ.items():
print("export {}='{}'".format(key, value))
def parse_args():
parser = argparse.ArgumentParser(prog='restic_compose_backup')
parser.add_argument(
@ -303,6 +314,7 @@ def parse_args():
'cleanup',
'version',
'crontab',
'dump-env',
'test',
],
)

View File

@ -3,7 +3,7 @@ from setuptools import setup, find_namespace_packages
setup(
name="restic-compose-backup",
url="https://github.com/ZettaIO/restic-compose-backup",
version="0.7.0",
version="0.7.1",
author="Einar Forselv",
author_email="eforselv@gmail.com",
packages=find_namespace_packages(include=[