{"id":13828637,"url":"https://github.com/sebastianfeldmann/phpbu","last_synced_at":"2025-04-10T10:49:30.156Z","repository":{"id":21929059,"uuid":"25253423","full_name":"sebastianfeldmann/phpbu","owner":"sebastianfeldmann","description":"PHP Backup Utility - Creates and encrypts database and file backups, syncs your backups to other servers or cloud services and assists you monitor your backup process","archived":false,"fork":false,"pushed_at":"2024-09-15T17:01:04.000Z","size":2479,"stargazers_count":1296,"open_issues_count":58,"forks_count":110,"subscribers_count":39,"default_branch":"main","last_synced_at":"2024-10-29T15:33:22.467Z","etag":null,"topics":["backup","encrypted-backups","hacktoberfest","mongodb-backup","mysql-backup","php","postgresql-backup","redis-exporter"],"latest_commit_sha":null,"homepage":"https://phpbu.de","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sebastianfeldmann.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"sebastianfeldmann"}},"created_at":"2014-10-15T12:23:57.000Z","updated_at":"2024-10-07T11:46:56.000Z","dependencies_parsed_at":"2023-01-13T21:45:19.128Z","dependency_job_id":"51954389-7af5-4251-ac30-06ca0cd7271d","html_url":"https://github.com/sebastianfeldmann/phpbu","commit_stats":null,"previous_names":[],"tags_count":116,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebastianfeldmann%2Fphpbu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebastianfeldmann%2Fphpbu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebastianfeldmann%2Fphpbu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebastianfeldmann%2Fphpbu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sebastianfeldmann","download_url":"https://codeload.github.com/sebastianfeldmann/phpbu/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248202587,"owners_count":21064377,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backup","encrypted-backups","hacktoberfest","mongodb-backup","mysql-backup","php","postgresql-backup","redis-exporter"],"created_at":"2024-08-04T09:02:56.406Z","updated_at":"2025-04-10T10:49:30.136Z","avatar_url":"https://github.com/sebastianfeldmann.png","language":"PHP","funding_links":["https://github.com/sponsors/sebastianfeldmann"],"categories":["PHP"],"sub_categories":[],"readme":"# PHPBU\n\n**PHP Backup Utility**\n\n*PHPBU* is a php tool that creates and encrypts backups, syncs your backups to other servers or cloud services\nand assists you monitor your backup creation.\n\nGet an in depth look into all the features and a short 'getting started' tutorial at the [PHPBU Website](https://phpbu.de).\n\n[![Latest Stable Version](https://poser.pugx.org/phpbu/phpbu/v/stable.svg)](https://packagist.org/packages/phpbu/phpbu)\n[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%208.0-8892BF.svg)](https://php.net/)\n[![Downloads](https://img.shields.io/packagist/dt/phpbu/phpbu.svg?v1)](https://packagist.org/packages/phpbu/phpbu)\n[![License](https://poser.pugx.org/phpbu/phpbu/license.svg)](https://packagist.org/packages/phpbu/phpbu)\n[![Build Status](https://github.com/sebastianfeldmann/phpbu/workflows/Integration/badge.svg)](https://github.com/sebastianfeldmann/phpbu/actions)\n[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/sebastianfeldmann/phpbu/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/sebastianfeldmann/phpbu/?branch=master)\n[![Code Coverage](https://scrutinizer-ci.com/g/sebastianfeldmann/phpbu/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/sebastianfeldmann/phpbu/?branch=master)\n[![PHP Website](https://img.shields.io/website-up-down-green-red/https/phpbu.de.svg)](https://phpbu.de)\n\nIf you are not using php 8.0 or greater already you can still use phpbu version [6.0.20](https://phar.phpbu.de/phpbu-6.0.20.phar) \\\nIf you are not using php 7.2 or greater already you can still use phpbu version [5.2.10](https://phar.phpbu.de/phpbu-5.2.10.phar) \\\nIf you are behind php 7.0 you can still use phpbu version [4.0.10](https://phar.phpbu.de/phpbu-4.0.10.phar)\n\n## Features\n\n* Creating backups\n    + ArangoDB\n    + Directories\n    + Elasticsearch\n    + InfluxDB\n    + Ldap\n    + MongoDB\n    + MySQL\n    + Percona XtraBackup\n    + PostgreSQL\n    + Redis\n* Compress backups\n    + bzip2\n    + gzip\n    + xz\n    + zip\n* Validate backups\n    + Check min size\n    + Comparing with previous backups\n* Encrypting backups\n    + mcrypt\n    + openssl\n* Sync backups to other locations\n    + Amazon s3\n    + Azure Blob\n    + Dropbox\n    + FTP\n    + Google Drive\n    + Google Cloud Storage\n    + OpenStack\n    + rsync\n    + SFTP\n    + Softlayer\n    + Yandex Disk\n* Cleanup your local backup\n    + Delete backups older x\n    + Store only x MB of backups\n    + Keep only last x backups\n    + Keep less backups for more distant past\n* Writing backup reports\n    + Text file\n    + Json file\n    + Mail\n    + Prometheus\n    + Telegram\n    + Webhook\n\n## Requirements\n\n* PHP \u003e= 7.2\n    + ext/curl\n    + ext/dom\n    + ext/json\n    + ext/spl\n* POSIX Shell\n    + tar\n    + bzip2 or gzip\n\n## Installation\n\nYou can [download](https://phar.phpbu.de/phpbu.phar) a PHP Archive [(PHAR)](http://php.net/phar) that bundles everything you need to run *PHPBU* in a single file.\n\n    wget https://phar.phpbu.de/phpbu.phar\n    chmod +x phpbu.phar\n    php phpbu.phar --version\n\nFor convenience, you can move the PHAR to a directory that is in your [PATH](http://en.wikipedia.org/wiki/PATH_%28variable%29).\n\n    mv phpbu.phar /usr/local/bin/phpbu\n    phpbu --version\n\nUsing [PHIVE](https://phar.io) to install *PHPBU*.\n\n    phive install phpbu\n\nInstalling *PHPBU* via Composer is also supported.\n\n```json\n  \"require\": {\n    \"phpbu/phpbu\": \"^6.0\"\n  }\n```\n\n## Usage\n```\nphpbu [option]\n\n  --bootstrap=\u003cfile\u003e       A \"bootstrap\" PHP file that is included before the backup.\n  --configuration=\u003cfile\u003e   A phpbu xml config file.\n  --colors                 Use colors in output.\n  --debug                  Display debugging information during backup generation.\n  --generate-configuration Create a new configuration skeleton.\n  --limit=\u003csubset\u003e         Limit backup execution to a subset.\n  --simulate               Perform a trial run with no changes made.\n  --restore                Print a restore guide.\n  -h, --help               Print this usage information.\n  -v, --verbose            Output more verbose information.\n  -V, --version            Output version information and exit.\n```\n\n### Usage Examples\n\n    $ phpbu\n\nThis requires a valid XML *PHPBU* configuration file (phpbu.xml or phpbu.xml.dist) in your current working directory.\nAlternatively, you can specify the path to your configuration file. An important thing to note is that all path inside\nthe configuration should be absolute or relative to the configuration file itself.\n\n    $ phpbu --configuration=backup/config.xml\n\nUse the *--limit* option to execute only a subset of your configured backups.\n\n    $ phpbu --limit=myAppDB\n\nA dry run without any actual impact is executed with the *--simulate* option.\n\n    $ phpbu --simulate\n\nTo show a guide how to restore your backup use the *--restore* option.\n\n    $ phpbu --restore\n\n## Configuration Example\n\nSimple configuration example in XML:\n\n```xml\n  \u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n  \u003cphpbu xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n         xsi:noNamespaceSchemaLocation=\"http://schema.phpbu.de/6.0/phpbu.xsd\"\n         verbose=\"true\"\u003e\n    \u003cbackups\u003e\n      \u003cbackup name=\"myAppDB\"\u003e\n        \u003c!-- source --\u003e\n        \u003csource type=\"mysqldump\"\u003e\n          \u003coption name=\"databases\" value=\"mydbname\"/\u003e\n          \u003coption name=\"user\" value=\"user.name\"/\u003e\n          \u003coption name=\"password\" value=\"topsecret\"/\u003e\n        \u003c/source\u003e\n        \u003c!-- where should the backup be stored --\u003e\n        \u003ctarget dirname=\"backup/mysql\"\n                filename=\"mysqldump-%Y%m%d-%H%i.sql\"\n                compress=\"bzip2\"/\u003e\n      \u003c/backup\u003e\n    \u003c/backups\u003e\n  \u003c/phpbu\u003e\n```\n\nSimple configuration example in JSON:\n\n```json\n{\n   \"verbose\":true,\n   \"backups\":[\n      {\n         \"name\":\"myAppDB\",\n         \"source\":{\n            \"type\":\"mysqldump\",\n            \"options\":{\n               \"databases\":\"mydbname\",\n               \"user\":\"user.name\",\n               \"password\":\"topsecret\"\n            }\n         },\n         \"target\":{\n            \"dirname\":\"backup\",\n            \"filename\":\"mysql-%Y%m%d-%H%i.sql\",\n            \"compress\":\"bzip2\"\n         }\n      }\n   ]\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsebastianfeldmann%2Fphpbu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsebastianfeldmann%2Fphpbu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsebastianfeldmann%2Fphpbu/lists"}