mirror of
https://github.com/andwati/dokploy.git
synced 2026-10-18 11:12:56 +00:00
- Added initVolumeBackupsCronJobs function to initialize scheduled volume backups on server startup. - Updated volumeBackupsRouter to handle scheduling and removal of volume backup jobs based on user input. - Improved create and update volume backup logic to include scheduling functionality for both cloud and local environments. - Introduced utility functions for scheduling and removing volume backup jobs, enhancing overall backup management.
31 lines
937 B
TypeScript
31 lines
937 B
TypeScript
export * from "./backup";
|
|
export * from "./restore";
|
|
export * from "./utils";
|
|
import { volumeBackups } from "@dokploy/server/db/schema";
|
|
import { eq } from "drizzle-orm";
|
|
import { db } from "../../db/index";
|
|
import { scheduleVolumeBackup } from "./utils";
|
|
|
|
export const initVolumeBackupsCronJobs = async () => {
|
|
console.log("Setting up volume backups cron jobs....");
|
|
try {
|
|
const volumeBackupsResult = await db.query.volumeBackups.findMany({
|
|
where: eq(volumeBackups.enabled, true),
|
|
with: {
|
|
application: true,
|
|
compose: true,
|
|
},
|
|
});
|
|
|
|
console.log(`Initializing ${volumeBackupsResult.length} volume backups`);
|
|
for (const volumeBackup of volumeBackupsResult) {
|
|
scheduleVolumeBackup(volumeBackup.volumeBackupId);
|
|
console.log(
|
|
`Initialized volume backup: ${volumeBackup.name} ${volumeBackup.serviceType} ✅`,
|
|
);
|
|
}
|
|
} catch (error) {
|
|
console.log(`Error initializing volume backups: ${error}`);
|
|
}
|
|
};
|