Commit Graph

15 Commits

Author SHA1 Message Date
connorc@orbitnode.net
dfbe572c9e fix line too long, update gitignore 2023-03-19 17:45:01 -06:00
connorc@orbitnode.net
6b2941e3a1 Refactored code to use a new Loggman class for
logging and to handle all file naming, storing logs in the backup
directory by default. Made the Loggman class delete logs older than
2 months and create new log files each week. Refactored the
MysqlDatabaseConfig and MysqlDatabaseBackup classes to use the new
Loggman class for logging and added error handling code. Updated the
upload_to_b2 method in MysqlDatabaseBackup to properly handle errors
when listing and deleting old backups in the B2 bucket.
2023-03-19 17:10:48 -06:00
connorc@orbitnode.net
3342da13c6 feat: Enhance MySQL backup script with
customizable retention and logging

    Refactor backup method to dump each database individually
    Update delete_old_backups method to remove local backups based on user-defined retention days
    Add Loggman class for logging program actions to a logfile and implement log deletion for logs older than a week
    Modify MysqlDatabaseConfig class to ask the user for local and B2 backup retention days
    Update MysqlDatabaseBackup class to use user-defined retention days for local backups
    Refactor upload_to_b2 method to delete B2 backups based on user-defined retention days
    Implement various code improvements and refactoring for better readability and maintainability
2023-03-19 16:49:18 -06:00
connorc@orbitnode.net
5b9ce0e341 Fix bug in upload_to_b2 method to delete existing
files in B2 bucket with different names before uploading new backup file.
2023-03-18 12:01:50 -06:00
connorc@orbitnode.net
44e4e9aef8 update mysql_database_backup.rb 2023-03-18 12:00:20 -06:00
connorc@orbitnode.net
b746eedac6 Add code to delete all non-matching files in a Backblaze B2 bucket before uploading a new backup file
This commit modifies the upload_to_b2 method in the MysqlDatabaseBackup class to delete all files in the specified Backblaze B2 bucket that do not match the name of the backup file being uploaded. The implementation retrieves a list of all files in the bucket using the b2 ls command and then iterates over each line to extract the name of each file. If the name of a file does not match the name of the backup file, the implementation extracts its file ID using a regular expression and then uses the b2 delete-file-version command to delete the file from the bucket. Finally, the implementation uploads the backup file to the B2 bucket.
2023-03-18 11:59:58 -06:00
connorc@orbitnode.net
2c960727d6 Add code to find and delete an existing backup file in a Backblaze B2 bucket before uploading a new backup file
This commit modifies the upload_to_b2 method in the MysqlDatabaseBackup class to search for an existing backup file with the same name as the backup file being uploaded in a specified Backblaze B2 bucket. The implementation retrieves a list of all files in the bucket using the b2 ls command and then iterates over each line to search for a file with the same name as the backup file. If a matching file is found, the implementation extracts its file ID using a regular expression and then uses the b2 delete-file-version command to delete the file from the bucket. Note that this implementation assumes that the backup file has a unique name.
2023-03-18 11:57:03 -06:00
connorc@orbitnode.net
0bd8a1b932 update mysql_database_backup.rb 2023-03-18 11:32:25 -06:00
connorc@orbitnode.net
4aad19d2bf update mysql_database_backup.rb 2023-03-18 11:28:55 -06:00
connorc@orbitnode.net
abe713024b update mysql_database_backup.rb 2023-03-18 10:32:17 -06:00
connorc@orbitnode.net
cff8ebcedd update mysql_database_backup.rb 2023-03-18 10:30:15 -06:00
connorc@orbitnode.net
23ad4be9ae update mysql_database_backup.rb 2023-03-18 10:25:07 -06:00
connorc@orbitnode.net
496be85eaa Fix B2 bucket upload issue and store b2_enabled in config
This commit addresses two main issues:

    The 'b2_enabled' value was not being stored in the config JSON. Added it to the config JSON to enable or disable B2 bucket uploads as needed.
    Corrected the execution of b2-cli commands in the MysqlDatabaseBackup class using backticks for proper shell command execution in Ruby.

These changes should resolve the issue of the database dump file not being uploaded to the B2 bucket.
2023-03-17 10:23:31 -06:00
connorc@orbitnode.net
e73eef1064 Change fro b2 gem to b2 cli 2023-03-17 10:02:03 -06:00
VetheonGames
bcfd201c4b
Commit finished beta 2023-02-23 15:42:16 -07:00