Exemple #1
0
        protected override BackupTaskResult CreateNewBackup()
        {
            var(backupFile, cmdOptions) = GenerateOptionsToCommand();

            var processStartInfo = new ProcessStartInfo("bash", $"-c \"{PathToPgDump}  {cmdOptions} \"")
            {
                RedirectStandardOutput = true,
                UseShellExecute        = false,
                CreateNoWindow         = true
            };

            processStartInfo.Environment.Add("PGPASSWORD", Password);
            var process = new Process {
                StartInfo = processStartInfo
            };

            process.Start();

            process.WaitForExit();
            var code = process.ExitCode;

            logger.LogInformation($"Postgres {Database} backup completed. dump files : {backupFile}");

            var result = new BackupTaskResult
            {
                Result    = true,
                FilesList = new List <string> {
                    backupFile
                },
            };

            return(result);
        }
Exemple #2
0
        protected override BackupTaskResult CreateNewBackup()
        {
            var(dumpfile, cmdOptions) = GenerateOptionsToCommand();
            var dumpTGZFileName      = dumpfile + ".tar.gz";
            var processSaveStartInfo = new ProcessStartInfo("bash", $"-c \"{PathToRedisCLI} {cmdOptions} save \"")
            {
                RedirectStandardOutput = true,
                UseShellExecute        = false,
                CreateNoWindow         = true
            };

            var process = new Process {
                StartInfo = processSaveStartInfo
            };

            process.Start();
            process.WaitForExit();
            var code = process.ExitCode;

            var processRdbStartInfo = new ProcessStartInfo("bash", $"-c \"{PathToRedisCLI} {cmdOptions} --rdb {dumpfile} \"")
            {
                RedirectStandardOutput = true,
                UseShellExecute        = false,
                CreateNoWindow         = true
            };

            var processRdb = new Process {
                StartInfo = processRdbStartInfo
            };

            processRdb.Start();
            processRdb.WaitForExit();
            var codeRdb = processRdb.ExitCode;

            Utils.CreateTarGZ(new List <string> {
                dumpfile,
            }, dumpTGZFileName);

            logger.LogInformation($"Redis {Host}:{Port} backup completed. dump files : {dumpTGZFileName}");

            var result = new BackupTaskResult
            {
                Result    = true,
                FilesList = new List <string> {
                    dumpTGZFileName
                },
            };

            return(result);
        }