aboutsummaryrefslogtreecommitdiff
path: root/cli/db-backup.php
diff options
context:
space:
mode:
Diffstat (limited to 'cli/db-backup.php')
-rwxr-xr-xcli/db-backup.php20
1 files changed, 20 insertions, 0 deletions
diff --git a/cli/db-backup.php b/cli/db-backup.php
new file mode 100755
index 000000000..290b5cc7b
--- /dev/null
+++ b/cli/db-backup.php
@@ -0,0 +1,20 @@
+#!/usr/bin/env php
+<?php
+declare(strict_types=1);
+require(__DIR__ . '/_cli.php');
+
+performRequirementCheck(FreshRSS_Context::systemConf()->db['type'] ?? '');
+$ok = true;
+
+foreach (listUsers() as $username) {
+ $username = cliInitUser($username);
+ $filename = DATA_PATH . '/users/' . $username . '/backup.sqlite';
+ @unlink($filename);
+
+ echo 'FreshRSS backup database to SQLite for user “', $username, "”…\n";
+
+ $databaseDAO = FreshRSS_Factory::createDatabaseDAO($username);
+ $ok &= $databaseDAO->dbCopy($filename, FreshRSS_DatabaseDAO::SQLITE_EXPORT);
+}
+
+done((bool)$ok);