aboutsummaryrefslogtreecommitdiff
path: root/cli/db-backup.php
diff options
context:
space:
mode:
authorGravatar hkcomori <hkcomori@gmail.com> 2024-06-29 17:10:49 +0900
committerGravatar GitHub <noreply@github.com> 2024-06-29 10:10:49 +0200
commit74deec6fb2aefa0bdaf6bb427f34d56ac3544cc3 (patch)
tree338ea4c9ae7e76a5756c2bf862253836fbb33c99 /cli/db-backup.php
parent7a9a24a0d0f2e5cc674995ce3174116803acde09 (diff)
Add quiet option to cli/db-backup.php (#6593)
* Add quiet option to cli/db-backup.php * Fix CI test error * Fix README
Diffstat (limited to 'cli/db-backup.php')
-rwxr-xr-xcli/db-backup.php20
1 files changed, 18 insertions, 2 deletions
diff --git a/cli/db-backup.php b/cli/db-backup.php
index 290b5cc7b..8f8fda2b1 100755
--- a/cli/db-backup.php
+++ b/cli/db-backup.php
@@ -6,15 +6,31 @@ require(__DIR__ . '/_cli.php');
performRequirementCheck(FreshRSS_Context::systemConf()->db['type'] ?? '');
$ok = true;
+$cliOptions = new class extends CliOptionsParser {
+ public string $quiet;
+
+ public function __construct() {
+ $this->addOption('quiet', (new CliOption('quiet', 'q'))->withValueNone());
+ parent::__construct();
+ }
+};
+
+if (!empty($cliOptions->errors)) {
+ fail('FreshRSS error: ' . array_shift($cliOptions->errors) . "\n" . $cliOptions->usage);
+}
+
foreach (listUsers() as $username) {
$username = cliInitUser($username);
$filename = DATA_PATH . '/users/' . $username . '/backup.sqlite';
@unlink($filename);
+ $verbose = !isset($cliOptions->quiet);
- echo 'FreshRSS backup database to SQLite for user “', $username, "”…\n";
+ if ($verbose) {
+ echo 'FreshRSS backup database to SQLite for user “', $username, "”…\n";
+ }
$databaseDAO = FreshRSS_Factory::createDatabaseDAO($username);
- $ok &= $databaseDAO->dbCopy($filename, FreshRSS_DatabaseDAO::SQLITE_EXPORT);
+ $ok &= $databaseDAO->dbCopy($filename, FreshRSS_DatabaseDAO::SQLITE_EXPORT, false, $verbose);
}
done((bool)$ok);