mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-25 16:33:15 +00:00
Merge pull request #319807 from hellodword/nixos-restic-add-unlock
nixos/restic: ensure newline in --files-from
This commit is contained in:
commit
ecf7c683c2
@ -374,7 +374,7 @@ in
|
|||||||
${resticCmd} cat config > /dev/null || ${resticCmd} init
|
${resticCmd} cat config > /dev/null || ${resticCmd} init
|
||||||
''}
|
''}
|
||||||
${optionalString (backup.paths != null && backup.paths != []) ''
|
${optionalString (backup.paths != null && backup.paths != []) ''
|
||||||
cat ${pkgs.writeText "staticPaths" (concatStringsSep "\n" backup.paths)} >> ${filesFromTmpFile}
|
cat ${pkgs.writeText "staticPaths" (concatLines backup.paths)} >> ${filesFromTmpFile}
|
||||||
''}
|
''}
|
||||||
${optionalString (backup.dynamicFilesFrom != null) ''
|
${optionalString (backup.dynamicFilesFrom != null) ''
|
||||||
${pkgs.writeScript "dynamicFilesFromScript" backup.dynamicFilesFrom} >> ${filesFromTmpFile}
|
${pkgs.writeScript "dynamicFilesFromScript" backup.dynamicFilesFrom} >> ${filesFromTmpFile}
|
||||||
|
@ -27,6 +27,7 @@ import ./make-test-python.nix (
|
|||||||
echo some_other_file > $out/some_other_file
|
echo some_other_file > $out/some_other_file
|
||||||
mkdir $out/a_dir
|
mkdir $out/a_dir
|
||||||
echo a_file > $out/a_dir/a_file
|
echo a_file > $out/a_dir/a_file
|
||||||
|
echo a_file_2 > $out/a_dir/a_file_2
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -62,7 +63,10 @@ import ./make-test-python.nix (
|
|||||||
inherit passwordFile exclude pruneOpts;
|
inherit passwordFile exclude pruneOpts;
|
||||||
initialize = true;
|
initialize = true;
|
||||||
repositoryFile = pkgs.writeText "repositoryFile" remoteFromFileRepository;
|
repositoryFile = pkgs.writeText "repositoryFile" remoteFromFileRepository;
|
||||||
paths = [ "/opt/a_dir" ];
|
paths = [
|
||||||
|
"/opt/a_dir/a_file"
|
||||||
|
"/opt/a_dir/a_file_2"
|
||||||
|
];
|
||||||
dynamicFilesFrom = ''
|
dynamicFilesFrom = ''
|
||||||
find /opt -mindepth 1 -maxdepth 1 ! -name a_dir # all files in /opt except for a_dir
|
find /opt -mindepth 1 -maxdepth 1 ! -name a_dir # all files in /opt except for a_dir
|
||||||
'';
|
'';
|
||||||
@ -144,15 +148,18 @@ import ./make-test-python.nix (
|
|||||||
# test that remote-from-file-backup produces a snapshot
|
# test that remote-from-file-backup produces a snapshot
|
||||||
"systemctl start restic-backups-remote-from-file-backup.service",
|
"systemctl start restic-backups-remote-from-file-backup.service",
|
||||||
'restic-remote-from-file-backup snapshots --json | ${pkgs.jq}/bin/jq "length | . == 1"',
|
'restic-remote-from-file-backup snapshots --json | ${pkgs.jq}/bin/jq "length | . == 1"',
|
||||||
|
"mkdir /tmp/restore-2",
|
||||||
|
"restic-remote-from-file-backup restore latest -t /tmp/restore-2",
|
||||||
|
"diff -ru ${testDir} /tmp/restore-2/opt",
|
||||||
|
|
||||||
# test that remote-noinit-backup produces a snapshot
|
# test that remote-noinit-backup produces a snapshot
|
||||||
"systemctl start restic-backups-remote-noinit-backup.service",
|
"systemctl start restic-backups-remote-noinit-backup.service",
|
||||||
'restic-remote-noinit-backup snapshots --json | ${pkgs.jq}/bin/jq "length | . == 1"',
|
'restic-remote-noinit-backup snapshots --json | ${pkgs.jq}/bin/jq "length | . == 1"',
|
||||||
|
|
||||||
# test that restoring that snapshot produces the same directory
|
# test that restoring that snapshot produces the same directory
|
||||||
"mkdir /tmp/restore-2",
|
"mkdir /tmp/restore-3",
|
||||||
"${pkgs.restic}/bin/restic -r ${remoteRepository} -p ${passwordFile} restore latest -t /tmp/restore-2",
|
"${pkgs.restic}/bin/restic -r ${remoteRepository} -p ${passwordFile} restore latest -t /tmp/restore-3",
|
||||||
"diff -ru ${testDir} /tmp/restore-2/opt",
|
"diff -ru ${testDir} /tmp/restore-3/opt",
|
||||||
|
|
||||||
# test that rclonebackup produces a snapshot
|
# test that rclonebackup produces a snapshot
|
||||||
"systemctl start restic-backups-rclonebackup.service",
|
"systemctl start restic-backups-rclonebackup.service",
|
||||||
|
Loading…
Reference in New Issue
Block a user