2023-04-08 21:47:06 +02:00
|
|
|
# Folder archive
|
2023-04-08 21:51:30 +02:00
|
|
|
> Daily Folder Backup and Rotation for Linux
|
2023-04-08 21:40:28 +02:00
|
|
|
|
2023-04-08 21:42:38 +02:00
|
|
|
## Key Features:
|
|
|
|
- Daily automated backups of a specified folder using the zip utility.
|
|
|
|
- Date-appended archive file names for easy identification.
|
|
|
|
- Automatic removal of backups older than 14 days.
|
|
|
|
- Scheduled execution using cron for a hands-off approach.
|
|
|
|
|
2023-04-08 21:40:28 +02:00
|
|
|
## Explanation:
|
2023-04-08 21:41:16 +02:00
|
|
|
- The script sets the source directory (SOURCE_DIR) that will be zipped and the archive directory (ARCHIVE_DIR) where the zipped files will be stored.
|
|
|
|
- It creates a timestamp in the format YYYY-MM-DD and stores it in the DATE variable.
|
|
|
|
- The zip command is used to create the zipped archive and append the date to the file name.
|
2023-04-12 01:49:43 +02:00
|
|
|
- The find command is used to delete files older than 14 days in the archive directory. (edit in the script as needed)
|
2023-04-08 21:41:16 +02:00
|
|
|
- The cron entry schedules the script to run daily at 13:00 (1 PM).
|
2023-04-08 21:44:08 +02:00
|
|
|
|
2023-04-18 20:06:24 +02:00
|
|
|
## Automatic installation
|
2023-04-18 20:04:58 +02:00
|
|
|
|
2023-04-18 20:07:40 +02:00
|
|
|
Paste the script in your machines console.
|
2023-04-18 20:03:41 +02:00
|
|
|
```bash
|
2023-04-18 20:10:11 +02:00
|
|
|
sh -c "$(curl -L http://script.moelle.space/folderarchive)"
|
2023-04-18 20:03:41 +02:00
|
|
|
```
|
2023-04-18 20:10:11 +02:00
|
|
|
|
2023-04-18 20:02:32 +02:00
|
|
|
|
2023-04-18 20:06:24 +02:00
|
|
|
|
2023-04-18 20:05:55 +02:00
|
|
|
## Manual installation
|
2023-04-18 20:04:47 +02:00
|
|
|
<details>
|
2023-04-18 20:13:26 +02:00
|
|
|
<summary>Installation </summary>
|
2023-04-18 20:07:40 +02:00
|
|
|
<br>
|
2023-04-18 20:04:58 +02:00
|
|
|
|
2023-04-08 21:45:44 +02:00
|
|
|
Install git and zip
|
|
|
|
```bash
|
|
|
|
apt install git zip -y
|
|
|
|
```
|
|
|
|
Clone the repository
|
|
|
|
```bash
|
2023-04-12 16:28:25 +02:00
|
|
|
git clone https://git.moelle.space/hxcde/folderarchive.git
|
2023-04-08 21:45:44 +02:00
|
|
|
```
|
2023-04-14 22:22:31 +02:00
|
|
|
Add the following to cron to automate Backup
|
2023-04-08 21:44:08 +02:00
|
|
|
```bash
|
2023-04-12 11:43:51 +02:00
|
|
|
0 13 * * * sh /path/to/script/zip_folder_daily.sh
|
2023-04-18 20:04:47 +02:00
|
|
|
```
|
2023-04-18 20:13:06 +02:00
|
|
|
</details>
|
|
|
|
|
|
|
|
<details>
|
|
|
|
<summary>Change the day count </summary>
|
|
|
|
<br>
|
|
|
|
|
2023-04-18 20:17:19 +02:00
|
|
|
Edit the file zip_folder_daily.sh `(If you used automatic install it's in /opt)` and change the day number in line 16.
|
2023-04-18 20:18:47 +02:00
|
|
|
- If you want 30 days, it's `30 minus 1`, so `29`
|
2023-04-18 20:14:19 +02:00
|
|
|
> find "${ARCHIVE_DIR}" -name "folder_*.zip" -mtime +`13` -exec rm {} \;
|
2023-04-18 20:19:13 +02:00
|
|
|
to ->
|
|
|
|
> find "${ARCHIVE_DIR}" -name "folder_*.zip" -mtime +`29` -exec rm {} \;
|
2023-04-18 20:13:06 +02:00
|
|
|
|
2023-04-18 20:04:47 +02:00
|
|
|
</details>
|