diff options
Diffstat (limited to 'python-django-rotating-backup.spec')
-rw-r--r-- | python-django-rotating-backup.spec | 291 |
1 files changed, 291 insertions, 0 deletions
diff --git a/python-django-rotating-backup.spec b/python-django-rotating-backup.spec new file mode 100644 index 0000000..3516b60 --- /dev/null +++ b/python-django-rotating-backup.spec @@ -0,0 +1,291 @@ +%global _empty_manifest_terminate_build 0 +Name: python-django-rotating-backup +Version: 1.0.1 +Release: 1 +Summary: A simple Django app to make rotating backups of the Django database and media files. +License: GNU GENERAL PUBLIC LICENSE +URL: https://github.com/erikdewildt/django-rotating-backup +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/61/14/4f7d119f659ea9fda713726396028845f2215738b8a650e05cbb3b56230c/django-rotating-backup-1.0.1.tar.gz +BuildArch: noarch + + +%description +# Django-Rotating-Backup + +This is a simple app to create rotating backups from the Django database and Media files. + + +## Quick start + +1. Install django-rotating-backups using pip: + + ``` + pip install django-rotating-backup + ``` + +2. Add "django-rotating-backups" to your INSTALLED_APPS setting like this: + + ``` + INSTALLED_APPS = [ + ... + 'django_rotating_backup', + ] + ``` + +3. Add `python manage.py create_backup` to a hourly cron job. + +4. Add settings to the django settings or use environment settings. Please not that environment variables have precedent +over the settings configured in the settings. + + +## Settings + +|Name|Description| +|----|-----------| +|DRB_BACKUP_HOURS_TO_KEEP|The number of hourly backups to keep| +|DRB_BACKUP_DAYS_TO_KEEP|The number of daily backups to keep| +|DRB_BACKUP_WEEKS_TO_KEEP|The number of weekly backups to keep| +|DRB_BACKUP_MONTHS_TO_KEEP|The number of monthly backups to keep| +|DRB_DESTINATION_FOLDER|Where to store the backups| +|DRB_ENABLE_SQLITE_BACKUP_COPY|Set to `True` to make backup copies for SQLite databases| +|DRB_ENABLE_DATABASE_DUMPS|Set to `True` to enable SQL dumps of databases| +|DRB_ENABLE_MEDIA_BACKUPS|Set to `True` to enable Media folder backups| +|DRB_ENABLE_REMOTE_SYNC|Set to `True` to enable remote sync of backup files| +|DRB_RSYNC_HOST|The remote host where to sync to| +|DRB_RSYNC_REMOTE_PATH|The path on the remote server| +|DRB_RSYNC_USER|The user to connect as| +|DRB_RSYNC_PUB_KEY|The ssh public key to use| + +## Example + +``` +... +BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +... + +# Settings for Django Rotating Backup +DRB_BACKUP_HOURS_TO_KEEP = 24 +DRB_BACKUP_DAYS_TO_KEEP = 7 +DRB_BACKUP_WEEKS_TO_KEEP = 4 +DRB_BACKUP_MONTHS_TO_KEEP = 3 + +DRB_DESTINATION_FOLDER = os.path.join(BASE_DIR, 'backups') + +DRB_ENABLE_SQLITE_BACKUP_COPY = True +DRB_ENABLE_DATABASE_DUMPS = True +DRB_ENABLE_MEDIA_BACKUPS = True + +DRB_ENABLE_REMOTE_SYNC = True +DRB_RSYNC_HOST = '192.168.2.6' +DRB_RSYNC_REMOTE_PATH = '/home/backupuser/backup/' +DRB_RSYNC_USER = 'backupuser' +DRB_RSYNC_SSH_KEY = '/Users/backupuser/.ssh/id_rsa' +``` + + + + +%package -n python3-django-rotating-backup +Summary: A simple Django app to make rotating backups of the Django database and media files. +Provides: python-django-rotating-backup +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-django-rotating-backup +# Django-Rotating-Backup + +This is a simple app to create rotating backups from the Django database and Media files. + + +## Quick start + +1. Install django-rotating-backups using pip: + + ``` + pip install django-rotating-backup + ``` + +2. Add "django-rotating-backups" to your INSTALLED_APPS setting like this: + + ``` + INSTALLED_APPS = [ + ... + 'django_rotating_backup', + ] + ``` + +3. Add `python manage.py create_backup` to a hourly cron job. + +4. Add settings to the django settings or use environment settings. Please not that environment variables have precedent +over the settings configured in the settings. + + +## Settings + +|Name|Description| +|----|-----------| +|DRB_BACKUP_HOURS_TO_KEEP|The number of hourly backups to keep| +|DRB_BACKUP_DAYS_TO_KEEP|The number of daily backups to keep| +|DRB_BACKUP_WEEKS_TO_KEEP|The number of weekly backups to keep| +|DRB_BACKUP_MONTHS_TO_KEEP|The number of monthly backups to keep| +|DRB_DESTINATION_FOLDER|Where to store the backups| +|DRB_ENABLE_SQLITE_BACKUP_COPY|Set to `True` to make backup copies for SQLite databases| +|DRB_ENABLE_DATABASE_DUMPS|Set to `True` to enable SQL dumps of databases| +|DRB_ENABLE_MEDIA_BACKUPS|Set to `True` to enable Media folder backups| +|DRB_ENABLE_REMOTE_SYNC|Set to `True` to enable remote sync of backup files| +|DRB_RSYNC_HOST|The remote host where to sync to| +|DRB_RSYNC_REMOTE_PATH|The path on the remote server| +|DRB_RSYNC_USER|The user to connect as| +|DRB_RSYNC_PUB_KEY|The ssh public key to use| + +## Example + +``` +... +BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +... + +# Settings for Django Rotating Backup +DRB_BACKUP_HOURS_TO_KEEP = 24 +DRB_BACKUP_DAYS_TO_KEEP = 7 +DRB_BACKUP_WEEKS_TO_KEEP = 4 +DRB_BACKUP_MONTHS_TO_KEEP = 3 + +DRB_DESTINATION_FOLDER = os.path.join(BASE_DIR, 'backups') + +DRB_ENABLE_SQLITE_BACKUP_COPY = True +DRB_ENABLE_DATABASE_DUMPS = True +DRB_ENABLE_MEDIA_BACKUPS = True + +DRB_ENABLE_REMOTE_SYNC = True +DRB_RSYNC_HOST = '192.168.2.6' +DRB_RSYNC_REMOTE_PATH = '/home/backupuser/backup/' +DRB_RSYNC_USER = 'backupuser' +DRB_RSYNC_SSH_KEY = '/Users/backupuser/.ssh/id_rsa' +``` + + + + +%package help +Summary: Development documents and examples for django-rotating-backup +Provides: python3-django-rotating-backup-doc +%description help +# Django-Rotating-Backup + +This is a simple app to create rotating backups from the Django database and Media files. + + +## Quick start + +1. Install django-rotating-backups using pip: + + ``` + pip install django-rotating-backup + ``` + +2. Add "django-rotating-backups" to your INSTALLED_APPS setting like this: + + ``` + INSTALLED_APPS = [ + ... + 'django_rotating_backup', + ] + ``` + +3. Add `python manage.py create_backup` to a hourly cron job. + +4. Add settings to the django settings or use environment settings. Please not that environment variables have precedent +over the settings configured in the settings. + + +## Settings + +|Name|Description| +|----|-----------| +|DRB_BACKUP_HOURS_TO_KEEP|The number of hourly backups to keep| +|DRB_BACKUP_DAYS_TO_KEEP|The number of daily backups to keep| +|DRB_BACKUP_WEEKS_TO_KEEP|The number of weekly backups to keep| +|DRB_BACKUP_MONTHS_TO_KEEP|The number of monthly backups to keep| +|DRB_DESTINATION_FOLDER|Where to store the backups| +|DRB_ENABLE_SQLITE_BACKUP_COPY|Set to `True` to make backup copies for SQLite databases| +|DRB_ENABLE_DATABASE_DUMPS|Set to `True` to enable SQL dumps of databases| +|DRB_ENABLE_MEDIA_BACKUPS|Set to `True` to enable Media folder backups| +|DRB_ENABLE_REMOTE_SYNC|Set to `True` to enable remote sync of backup files| +|DRB_RSYNC_HOST|The remote host where to sync to| +|DRB_RSYNC_REMOTE_PATH|The path on the remote server| +|DRB_RSYNC_USER|The user to connect as| +|DRB_RSYNC_PUB_KEY|The ssh public key to use| + +## Example + +``` +... +BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +... + +# Settings for Django Rotating Backup +DRB_BACKUP_HOURS_TO_KEEP = 24 +DRB_BACKUP_DAYS_TO_KEEP = 7 +DRB_BACKUP_WEEKS_TO_KEEP = 4 +DRB_BACKUP_MONTHS_TO_KEEP = 3 + +DRB_DESTINATION_FOLDER = os.path.join(BASE_DIR, 'backups') + +DRB_ENABLE_SQLITE_BACKUP_COPY = True +DRB_ENABLE_DATABASE_DUMPS = True +DRB_ENABLE_MEDIA_BACKUPS = True + +DRB_ENABLE_REMOTE_SYNC = True +DRB_RSYNC_HOST = '192.168.2.6' +DRB_RSYNC_REMOTE_PATH = '/home/backupuser/backup/' +DRB_RSYNC_USER = 'backupuser' +DRB_RSYNC_SSH_KEY = '/Users/backupuser/.ssh/id_rsa' +``` + + + + +%prep +%autosetup -n django-rotating-backup-1.0.1 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-django-rotating-backup -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 29 2023 Python_Bot <Python_Bot@openeuler.org> - 1.0.1-1 +- Package Spec generated |