Im using magento and i want write script to automatically backup so i want store the outside the magento 2 root directory is it possible and how can i do it.
1 Answer
You can do outside Magento folder.
First create a plugin for Magento\Backup\Helper\Data
of function getBackupsDir()
. Then on afterGetBackupsDir
changes the dir of backup.
Define plugin in di.xml
Define plugin at a app/code/{Vendor}/{Modulename}/di.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="Magento\Backup\Helper\Data">
<plugin name="change_backup_dir" type="{VendorName}\{Modulename}\Plugin\DataBackupPlugin" sortOrder="1" />
</type>
</config>
Plugin Class:
<?php
namespace {VendorName}\{Modulename}\Plugin;
class DataBackupPlugin
{
public function afterGetBackupsDir(
\Magento\Backup\Helper $subject,
array $result
)
{
/* Should Use Absolulated path */
/* Here i have set my back directory is /var/www/ */
return '/var/www/';
}
}