Hi @rohan07,
I'm assuming you're talking about content backup(pages, assets, configurations).
Create a content package(package manager) and it will just be fine. For the automation you can write cURL scripts and save it on your linux machine(usually hosted on linux servers) and create a crontab entry and that will take care of your periodic content backup(s). The only information you lose is version history.
snippet:
# creates the package
curl -u admin:admin -X POST http://localhost:4502/crx/packmgr/service/.json/etc/packages/mySite-backup-images.zip?cmd=create -d packageName=mySite-backup-images -d groupName=mySite-Backup
#adds the filters
curl -u admin:admin -Froot="/content/dam/mySite/images" http://localhost:4502/etc/packages/mySite-Backup/mySite-backup-images.zip/jcr:content/vlt:definition/filter/f0
#builds the package
curl -u admin:admin -X POST http://localhost:4502/crx/packmgr/service/.json/etc/packages/mySite-Backup/mySite-backup-images.zip?cmd=build
#downloads the package
curl -u admin:admin http://localhost:4502/etc/packages/mySite-Backup/mySite-backup-images.zip > /home/<USER>/<DIRECTORY>/mySite-backup-images_$(date '+%m%d%Y').zip
echo "Backup is done!"
pause
On the other hand if you want to create a backup of the entire repository, you have three options-
1. offline backup
2. online - AEM integrated backup tool
3. online - filesystem snapshot
You can read more about it here : Backup and Restore
I hope that helps!
Thanks,
Bilal.