{ "info": { "author": "Pieter De Praetere", "author_email": "pieter.de.praetere@helptux.be", "bugtrack_url": null, "classifiers": [], "description": "serapeum.backup\n===============\n\n*serapeum.backup* will perform a back-up of a list of directories, as\nwell as your MySQL database, and store them on the server you're running\nthe application on. It is designed to run on your back-up server and\nuses ```rdiff-backup`` `__ to run\nthe backup.\n\nConfiguration\n-------------\n\nThe application is designed to be used when you have a lot of servers,\nwhich contain mostly web applications, with assorted databases, and you\nwant them all backed up hassle-free to a remote backup server. It is\nmeant to be used on your backup server, but it can optionally run from\nyour server and push to the backup server as well.\n\nAll configuration options are in either in ``/etc/serapeum/backup.ini``\nor a configuration file provided via the ``--config`` command line\nswitch. Copy the provided ``example.ini`` file and update it to reflect\nyour personal situation.\n\nRole\n~~~~\n\nThe setting ``remote_role`` determines whether *serapeum.backup* will\nattempt to backup servers to the local system (``source``) or backup the\nlocal system to some remote server (``backup``). By default, it's set to\n``source``.\n\n- Setting it to ``backup`` will create a backup of the local system and\n use the remote (hence the term ``remote_role``) as its backup\n location.\n\n- Setting it to ``source`` will create a backup of the remote system\n and store the backup locally.\n\nThe key ``backup_path`` contains the path the backups will be written\nto, either a local path (``source``) or a remote (``backup``) one.\n\nNote that when ``remote_role`` is ``backup`` and thus ``backup_path`` is\na remote path, you do not have to include ``user`` and ``host`` (e.g.\n``user@host::path``), as this will be generated automatically from the\nremote configuration.\n\nFile selection\n~~~~~~~~~~~~~~\n\n``sources_file`` and ``excludes_file`` refer to the selection of files\n(or directories) you want to backup. Both files must be json-files which\nhave a key called ``list``. The ``list`` key contains a list of fully\nqualified directories to backup.\n\n- ``sources_file`` contains a list of directories or files you want to\n have backed up.\n\n- ``excludes_file`` has a list of files or directories inside your\n source directories you want to exclude from backing up. If, for\n example, you have ``/home/pieter`` in your ``sources_file``, but want\n to exclude *LargeDir* from the backup, you specify\n ``/home/pieter/LargeDir`` inside your ``excludes_file``.\n\nYour entire path will be replicated inside your backup location. If you\nspecified ``/home/pieter`` inside ``sources_file`` your remote location\nwill contain ``/home/pieter`` (and not just ``pieter``, which some\napplications might do).\n\nRemote configuration\n~~~~~~~~~~~~~~~~~~~~\n\nThe application interacts with your remote backup server using\nrdiff-backup and ssh keys. You must have rdiff-backup installed on the\nremote server as well as locally, inside ``/usr/bin``. You must also\nhave a user that is allowed to connect via ssh, with a key, and has the\nnecessary rights to run ``/usr/bin/rdiff-backup`` as ``sudo`` without a\npassword.\n\n- ``remote_user``, ``remote_ssh`` and ``remote_loc`` configure the\n remote. ``remote_loc`` contains the address (IP or FQDN) of your\n remote system. ``user`` and ``ssh`` refer to the user you want to log\n in as and the location of the private ssh key on this system.\n\nMultiple remotes\n^^^^^^^^^^^^^^^^\n\nIt is possible to define multiple remotes, which will, depending on the\nsetting of ``remote_role``, be used to store your backups (*backup*) or\nbe backed up (*source*). The remotes must be in a file in JSON-format\nwith a key called ``list``, containing either the IP addresses or the\nFQDN of every remote.\n\nYou must specify the location of the list as the ``remote_list``\nparameter and remove the ``remote_loc`` key. Only one of those can\nappear in your configuration file.\n\nIf the ``remote_role`` is *source*, the script will create a\nsubdirectory inside ``backup_path`` for every remote (using the IP/FQDN\nas defined in the list), in which the backups will be stored. This\nshould prevent backup mix-ups.\n\nThe ``remote_``-configuration in the MySQL section has the same\nfunctionality and is configured in the same manner.\n\nMySQL configuration\n~~~~~~~~~~~~~~~~~~~\n\nBacking up a MySQL installation can be enabled or disabled through the\n``backup_mysql`` setting.\n\nThe application uses the ``mysqldump`` utility to perform backups of\nyour MySQL (or equivalent) server. All databases will be dumped and the\ndump will be stored locally and then transferred to the remote location\nusing rdiff-backup. The local copy will be deleted (for security\nreasons).\n\n- ``local_path`` is the directory the dump will be stored in. This\n directory must exist. Not that this can be a path on a remote system\n if ``remote_role`` is set to ``source``.\n\n- ``host``, ``username`` and ``password`` must refer to a user that has\n the necessary rights to execute a dump of the entire MySQL\n installation. This requires ``SELECT``, ``LOCK TABLES``,\n ``SHOW VIEW`` and ``RELOAD`` privileges on all databases.\n\n- ``remote_user``, ``remote_ssh``, ``remote_loc``/``remote_list`` and\n ``backup_path`` are used to configure rdiff-backup for the backup of\n the MySQL dump. They can be the same settings as for the back-up of\n your files (see *Remote configuration*), but this is not a\n requirement.\n\nEmail configuration\n~~~~~~~~~~~~~~~~~~~\n\nWhen a backup job fails, the application sends of an email with the\noutput of rdiff-backup or mysqldump.\n\n- ``mail_dest`` has the email address of the recipient (e.g. you).\n\n- ``smtp_server``, ``smtp_port``, ``smtp_username`` and\n ``smtp_password`` configure the connection to a SMTP server.\n\nUsage\n-----\n\nThis script is designed to run in a cron job without any intervention.\nAll settings must be set in the configuration file.\n\nRun the application as:\n\n::\n\n serapeum-backup\n\nOptionally, you can provide a configuration file (in the same format as\n``/etc/serapeum/backup.ini``) on the command line via the ``--config``\nor ``-c`` switch. This file will be used instead of the general\nconfiguration file.\n\n::\n\n serapeum-backup --config /etc/serapeum/specific_site.ini", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/pieterdp/serapeum.backup", "keywords": "", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "serapeum.backup", "package_url": "https://pypi.org/project/serapeum.backup/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/serapeum.backup/", "project_urls": { "Homepage": "https://github.com/pieterdp/serapeum.backup" }, "release_url": "https://pypi.org/project/serapeum.backup/1.0.7/", "requires_dist": null, "requires_python": "", "summary": "Backup script based on rdiff-backup.", "version": "1.0.7" }, "last_serial": 2755495, "releases": { "1.0.4": [ { "comment_text": "", "digests": { "md5": "73443dbf1f0df963ed2484d2d798cb60", "sha256": "248fc53e0712ef53be846cc912b56dd8bcb1171e0b67ea31316a8144f6a5347c" }, "downloads": -1, "filename": "serapeum.backup-1.0.4.tar.gz", "has_sig": false, "md5_digest": "73443dbf1f0df963ed2484d2d798cb60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11390, "upload_time": "2017-03-10T06:43:28", "url": "https://files.pythonhosted.org/packages/55/18/f447caeb14817164882db10b6869fd9e865c9c50f2419b064086d3f8b7ab/serapeum.backup-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "8acafca417f472c8123c13fa8a8b6754", "sha256": "f9713c5a03deaa6dbfdb372bc8e89f71680e5de2517b89e36fc6307b26ea9104" }, "downloads": -1, "filename": "serapeum.backup-1.0.5.tar.gz", "has_sig": false, "md5_digest": "8acafca417f472c8123c13fa8a8b6754", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11379, "upload_time": "2017-03-10T08:27:44", "url": "https://files.pythonhosted.org/packages/45/bb/6c46de920fb71078e3e9a4404e1af22158fbd64abe25f9c8ec8d5e39714b/serapeum.backup-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "b1994191eff26f76ce5685c365bc32c8", "sha256": "50ddc8a04705488ea7de022af6060c6e1cf894c9eb50ec40210d97f30ce832e5" }, "downloads": -1, "filename": "serapeum.backup-1.0.6.tar.gz", "has_sig": false, "md5_digest": "b1994191eff26f76ce5685c365bc32c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12784, "upload_time": "2017-03-10T09:47:32", "url": "https://files.pythonhosted.org/packages/9a/9e/e69bfc0c4431852d0afad359bec87921e7b2825f6c0ac2fc9606f55b7d9b/serapeum.backup-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "1812fe2d13c5999d9f38aec420759f2f", "sha256": "c509c15ef82d32db5113ac012e606ef71603bade7d5ba42e77b05b0f8afd884c" }, "downloads": -1, "filename": "serapeum.backup-1.0.7.tar.gz", "has_sig": false, "md5_digest": "1812fe2d13c5999d9f38aec420759f2f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13287, "upload_time": "2017-03-31T08:39:55", "url": "https://files.pythonhosted.org/packages/d8/a4/2006152598b71ebd2d447753f7f482ee206ea03d02781ef774eea481f44c/serapeum.backup-1.0.7.tar.gz" } ], "2.0.0a1": [ { "comment_text": "", "digests": { "md5": "c417db7b16172d9a0027b2a65adae999", "sha256": "27f72cadfd797cb8b8024b34f4c78258e7b4837d2a0a68faa066fb927c36be1a" }, "downloads": -1, "filename": "serapeum.backup-2.0.0a1.tar.gz", "has_sig": false, "md5_digest": "c417db7b16172d9a0027b2a65adae999", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11645, "upload_time": "2017-04-01T15:42:50", "url": "https://files.pythonhosted.org/packages/9a/23/4d72566c18b3866a73d307d25d86a1c937b9665d5049fc3bf5369ac5be1f/serapeum.backup-2.0.0a1.tar.gz" } ], "2.0.0b1": [ { "comment_text": "", "digests": { "md5": "ffc037f31b6ea7bc903bde1c7f2d6ac1", "sha256": "dc4b3a2aff36c5b7472cc9e78b75452de559568c0542c138c6a5ec5d7bbf08f3" }, "downloads": -1, "filename": "serapeum.backup-2.0.0b1.tar.gz", "has_sig": false, "md5_digest": "ffc037f31b6ea7bc903bde1c7f2d6ac1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11701, "upload_time": "2017-04-05T16:38:02", "url": "https://files.pythonhosted.org/packages/b0/89/0df0f6e26e1a14da45687b3f7e81552c582cc430f7c2a10509d6a7d070ff/serapeum.backup-2.0.0b1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1812fe2d13c5999d9f38aec420759f2f", "sha256": "c509c15ef82d32db5113ac012e606ef71603bade7d5ba42e77b05b0f8afd884c" }, "downloads": -1, "filename": "serapeum.backup-1.0.7.tar.gz", "has_sig": false, "md5_digest": "1812fe2d13c5999d9f38aec420759f2f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13287, "upload_time": "2017-03-31T08:39:55", "url": "https://files.pythonhosted.org/packages/d8/a4/2006152598b71ebd2d447753f7f482ee206ea03d02781ef774eea481f44c/serapeum.backup-1.0.7.tar.gz" } ] }