DIGUP(1)
π digup β like, the manual page bestie π
okay so you found digup, the digest file updating program, section 1 of the General Commands Manual π pull up a chair, grab a boba, we're doing this π
β¨ NAME β¨
digup β digest file updating program. that's it. that's the name. iconic behavior honestly π
πΈ SYNOPSIS πΈ
digup [OPTIONS]
π¦ DESCRIPTION π¦
okay so bestie, digup is a tool that updates md5sum or shasum digest files. it reads your existing digest files, checks the current directory for new / updated / modified / renamed / deleted files, and then queries you with a summary of the changes. you review the updates, and then they can be written back to the digest file. the way that it justβ¦ handles it for you πβ¨
one of the envisioned applications of digup is to update and verify incremental archives, like chronological data storages or music collections π΅ by using digup, possibly undesired changes or lost files can easily be detected while quickly adding new files. like, it's giving archive guardian energy fr fr π«Ά
another purpose could be to automatically verify the integrity of hard disk copies of archives, because backups to hard disks are becoming increasingly popular (everyone's got a disk somewhere ngl). using a full file digest scan, even slowly creeping bad blocks on old hard disks can be detected π by using a crontab entry, this check can be performed unattended and routinely. she works while you sleep, periodt π΄π
in normal operation, only touched files with newer modification times are fully read and their digest compared. optionally, a full scan can be performed to test all file contents against their expected digests π
symbolic links are supported, either by following the link and reading the target's digest, or by saving only the link target path and verifying it against the old one π§
the digest files written by digup are compatible with those generated and read by md5sum and similar programs from the coreutils package. additional info like file size and modification time, or symlink targets, are stored on comment lines π
four digest algorithms are supported: MD5, SHA1, SHA256 and SHA512 π« the digest file itself is also checksummed using CRC32 against unintentional changes. and a fast red-black binary tree is used for the internal file list, allowing fast operation on a large number of files. red-black tree?? she's a data structures girlie AND a digest girlie πβ
π OPTIONS π
-b,--batchβ turns on non-interactive batch processing mode, which is what you need when you're running unattended, e.g. fromcron. this option also decreases verbosity by one level (--quiet). the returned error code is set to1if any changed, renamed, moved, deleted files or read errors occur π¨-c,--checkβ performs a full digest scan of all file contents, thus ignoring file modification times. without this option, files with equal size and modification time are skipped. she's thorough, she's reading EVERYTHING π€-d,--directory=<path>β change into this directory before looking for digest files or performing a recursive scan. basically "start here bestie" π--exclude-marker=<file>β sets a marker file, often called".nobackup"in other programs. if this marker file is found in a directory, the directory itself and all sub-directories are excluded from the digest scan π«
this option is persistent. it is saved in the digest file and will be applied to all future scans performed to check or update digests. so it's not a one-time thing, it lives there now, it pays rent π
-f,--file=<file>β check this file for existing digests and write updates to it. depending on the selected digest--type, the following file names are used by default:"md5sum.txt","sha1sum.txt","sha256sum.txt"or"sha512sum.txt"π-l,--linksβ when this flag is enabled, symbolic links (if supported on the platform) are followed. otherwise, by default, only the symbolic link's target path is saved and verified π-m,--modifiedβ print only modified, changed, copied, renamed or deleted files. unchanged file lines are suppressed. if the whole digest file is clean, then no summary output is printed at all. this option is useful forcrontabsin combination with--batchπ€«--modify-window=<integer>β consider modification time deltas of up to this value to be unchanged (the default is zero). this option is very useful for checking backups on FAT filesystems, as FAT stores modification times with a precision of only 2 seconds. yeah. two whole seconds. the disrespect π«-q,--quietβ reduces the level of verbosity by one. shhh π€«-r,--restrict=<substring>β restricts the digest check to filepaths containing the given substring pattern, other files are skipped. does NOT imply-c/--check; specify it additionally to run a full digest check of specific files β οΈ like, don't assume, specify, okay?-t,--type=<digest-type>β select the digest type for newly created digest files. this is not needed for updating an existing one, as the type can be inferred from the digest length π
digest-type must be md5, sha1, sha256 or sha512. the default digest type is sha1 β
-u,--updateβ automatically update the digest file in batch mode. requires--batch, which is not automatically activated by this option. so you gotta say it yourself, bestie, she won't read your mind π-v,--verboseβ increase the level of verbosity by one.
at level 0 only read errors are printed.
at level 1 the status of each processed file is printed.
and at level 2 (the default) additionally a progress indicator is printed while reading each file (one dot per megabyte) π«§
-V,--versionβ printdigupversion and exit. bye bestie π-w,--windowsβ ignores modification time deltas of just 1 second (equivalent to--modify-window=1). useful for checking backups on FAT filesystems πͺ
π EXAMPLES π
to update or create a SHA1 digest file in the current directory, just run plain:
digup
alternatively, update or create a SHA512 digest file in /mnt/disk1:
digup -t sha512 -d /mnt/disk1/archive
a common call for a crontab line is:
digup -bmd /mnt/disk1/archive
to run a full scan every midnight, add a line similar to the following to your crontab:
0 * * * * digup -bcmd /mnt/disk1/archive
π«Ά AUTHORS π«Ά
Timo Bingmann (tb (at) panthema <dot> net) β thank you for this gift, king π
π SEE ALSO π
md5sum(1), sha1sum(1), sha256sum(1), sha512sum(1)
and that's the whole page bestie π this was DIGUP(1), dated 2009-11-10, and she's been serving digest realness ever since. go forth and verify your archives, no cap πΈβ¨ππ¦
π¦ where this page comes from
- debian bookworm: digup 0.6.57-1 Β· GPL-3.0-or-later
- debian trixie: digup 0.6.57-1 Β· GPL-3.0-or-later
- ubuntu jammy: digup 0.6.57-1 Β· GPL-3.0-or-later
- ubuntu noble: digup 0.6.57-1 Β· GPL-3.0-or-later
- ubuntu questing: digup 0.6.57-3
- ubuntu resolute: digup 0.6.57-3build1 Β· GPL-3.0-or-later
- ubuntu stonking: digup 0.6.57-3build1 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms