UltimatePOS

  1. Home
  2. Docs
  3. UltimatePOS
  4. Enabling Backups (Backup in Server, AWS S3 & DropBox)

Enabling Backups (Backup in Server, AWS S3 & DropBox)

By default, backup is not enabled for every user of the POS application. To enable backup follow these steps:

  1. IMPORTANT: For the backup to work ziparchive must be enabled in the server PHP
  2. Log in with superadmin user for which backup is enabled. Now it will show an “Administrator Backup” menu in the left navigation menu. (How to add a superadmin user)
  3. Go to Administrator Backup menu and click on  “Create New Backup“. A backup will be created & stored in your server or store in the configured server.
  4. You can enable Dropbox or other servers as per the instruction below.
  5.  Generated backup files contain the following i) Database backup ii) public/uploads folder.

NOTE: For backup to work mysqldump must be enabled in your server.

Storing Backup in the same server where you have the application hosted can be dangerous, imagine what will happen if the server crashes? the backup will be lost.

So it is always advisable to store the backup in some external drive. Luckily DropBox & Amazon S3 is supported out-of-box with UltimatePOS.

(Recommended) Enabling Backup to Store in DropBox:

Using superadmin module:

  1. Go to Superadmin -> Superadmin settings -> Backups
  2. Select Backup Disk: as dropbox
  3. Enter Dropbox Access Token:

Not using superadmin module:

  1. Open .env file.
  2. Change BACKUP_DISK=”local” to BACKUP_DISK=”dropbox”
  3. Add/Edit another key: DROPBOX_ACCESS_TOKEN=”token_key_here”

Getting dropbox access token:

  1. Open https://www.dropbox.com/developers/apps
  2. Choose an API: Scoped access
  3. Choose the type of access you need: App folder
  4. Name your app: pos_backup
  5. Click “Create App” button
  6. In next screen: Access token expiration as “No Expiration”.
  7. Go to the Permission tab (in dropbox) and select: account_info.read, files.metadata.write,files.metadata.read,  files.content.write, files.content.read file_requests.write, file_requests.read and Submit. Refer the screenshot below.
  8. Make sure you have enabled the permissions and then generate an access token.
  9. Click “Generated access token“.
  10. Copy the shown access token and use it.
  11. use then generated access token as described above.

Enabling Backup to Store in AWS S3:

  1. Open .env file.
  2. Add  (or Edit if already present) a key BACKUP_DISK=”s3″
  3. Also, add the below keys:
    1. AWS_KEY=””
    2. AWS_SECRET=””
    3. AWS_REGION=””
    4. AWS_BUCKET=””

Backup for localhost, windows operating system:

Follow these steps:

  1. Go to https://pecl.php.net/package/zip and then download the most recent release of the extension.
  2. Extract php_zip.dll to C:\xampp\php\ext (If you installed XAMPP there) Edit php.ini and add a new line extension=php_zip.dll Restart Apache.
  3. add below code to config/database.php under ‘engine’ => null,
‘dump’ => [ ‘dump_binary_path’ => ‘c:/xampp/mysql/bin/’, // give exact path of mysqldump binary ‘use_single_transaction’, ‘timeout’ => 60 * 5, // 5 minute timeout ],

Changing Cron job interval in code:

Follow the file path in the codebase  pos\Modules\Woocommerce\Providers\WoocommerceServiceProvider.php

Search for the line twiceDaily(1, 13) and change it as per required.

Refer to the laravel official document below.

https://laravel.com/docs/9.x/scheduling#schedule-frequency-options

Clear Backup:

Add the cleanup cron command found in the Administer Backup page in your server.

This cron command will work every day between 11 to 12 pm.

It’ll keep only the last 7 days’ backup.

Inorder to change the time interval of the command to work follow the file path .

pos\Modules\Woocommerce\Providers\WoocommerceServiceProvider.php

Search for the line twiceDaily(1, 13) and just two lines above this you will find the code to change the interval for the cleanup cron command.

Problem 1:

Enable proc_open in your server. Contact your hosting provider to enable it.

Storage Usage:

  1. For Local server = Storage will be used for the server where POS is installed
  2. For Dropbox = Storage of dropbox will be used

📩 Still stuck? Contact Support

Was this article helpful to you? Yes 6 No 11