---
name: "metamonger"
section: "3pm"
platform: "linux"
package: "metamonger"
version: "0.20210406-7"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/metamonger"
---

# metamonger(3pm)

Save, diff, and restore filesystem metadata

## NAME

metamonger - Save, diff, and restore filesystem metadata

## SYNOPSIS

**metamonger** \[**--config**\|**--debug**\|**-v**\|**--verbose**\]

**metamonger** {**diff** \| **restore** \| **save** \| **status**} \[**-L**\|**--derefence**\|**-P**\|**--no-dereference**\] \[**-n**\|**--no-act**\] \[**--untracked**=\[*no*\|*normal*\|*all*\]\] \[*\<path*\>\]

**metamonger** {**help** \| **version**}

## DESCRIPTION

**metamonger** allows you to store file metadata as returned by [**stat**(1)](/stat/1.md) in a text file.

By default, it saves only mtime on files. Other attributes an

### Storage format

The storage format is plain JSON, but reformatted so that every entry and all its data is on one line. This allows for easy integration with [**git**(1)](/git/1.md), [**svn**(1)](/svn/1.md), and other VCS. It also allows for editing by hand should you so please.

### Name

**metamonger** stands for monging metadata. "meta" as in metadata; "monging" as in dealing with or selling something (fishmonger) and pushing for something unpleasant (warmonger).

## OPTIONS

- **--config**

  Specify custom config file.

- **--debug**

  Print debug messages.

- **--dereference\|-L**

  Always follow symlinks. This is the default.

- **--no-dereference\|-P**

  Never follow symlinks.

- **--no-act\|-n**

  Do not act; print results only.

- **--untracked**

  Show untracked files: None, default, or all.

- **--verbose\|-v**

  Print verbose messages.

## COMMANDS

- **diff** \[*path*\]

  Diff between stored and live metadata.

- **help**

  Display this help.

- **restore** \[*path*\]

  Restore metadata to file system.

- **save** \[*path*\]

  Write metadata to file.

- **status** \[*path*\]

  Show status

- **version**

  Display version information.

## SECURITY CONSIDERATIONS

**metamonger** can set metadata on files. This means it is able to add/remove write permissions. It can also change the modification times of files, potentially making [**make**(1)](/make/1.md) ignore them in a rebuild. Don't act stupidly, as **metamonger** will happily allow you to shoot yourself in the foot; same as [**rm**(1)](/rm/1.md).

## BUGS

None are known at this time, but reports and/or patches are more than welcome.

## AUTHOR

This POD/manpage and **metamonger** itself were written by Richard "RichiH" Hartmann.

Errietta "erry" Kostala made significant contributions and implemented the test suite from scratch.

## COPYRIGHT

Copyright 2012-2013 Richard Hartmann \<richih@debian.org\>.

Licensed under the GNU GPL version 2 or higher.

https://github.com/RichiH/metamonger

## SEE ALSO

[**stat**(1)](/stat/1.md), [**stat**(2)](/stat/2.md)
