Giter VIP home page Giter VIP logo

backup-manager's Introduction

Backup-Manager

This Laravel package allows you to create a backup of your database. You can use any file system which Laravel supports like S3, FTP, local etc.

Installation

Auto discovery

If you are using Laravel 5.6, then this package supports auto-discovery and so you don't need to do anything and can directly skip to the configuration part.

Normal installation

To install the package, run the following command

composer require amitavroy/backup-manager

Add the service provider inside app.php

Amitav\Backup\BackupServiceProvider::class,

After adding the service provider, publish the config file using

php artisan vendor:publish --provider="Amitav\Backup\BackupServiceProvider"

Configuration

The config file contains documentation on folder structure and other details. If you are using any other file system like S3, you will need to ensure the env variables are setup for the backup to work.

Some important env variables explained:

Variable name Description Default
BACKUP_FOLDER_NAME This is the folder name where the backups will be stored. DB_DATABASE env
BACKUP_DB_FILENAME This is the file name used along with time at the end DB_DATABASE env
BACKUP_STORAGE_DRIVER This is the Storage disk which will be used to upload the file. local

If you are using S3 file system you will need to run the below command to pull the package

composer require league/flysystem-aws-s3-v3

For this package to automatically take backup of the database, you need to add the command in you Kernel.php inside the app\Console folder.

Example:

protected $commands = [
    BackupDatbase::class,
];

$schedule->command('backup:database')->daily();

backup-manager's People

Contributors

amitavroy avatar

Watchers

 avatar  avatar  avatar

Forkers

monishnarwani

backup-manager's Issues

Store information in database

Need to store the information of backups

  • id
  • uri (entire path of the file recognised by the disk)
  • file_system (s3/local/dropbox)
  • file_size
  • time_taken

Listing of the backup data

An admin section where User can see the listing of the database backups.

Need to create a database table which will log all the backups and accordingly allow the user to manage.

Package auto-discovery

Right now the package does not have auto-discovery which is very common with almost all packages starting from Laravel 5.6.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.