---
name: "pdumpfs"
section: "8"
platform: "linux"
package: "pdumpfs"
version: "1.3-2"
release: "Debian 5.0 (Lenny)"
platforms: ["linux"]
url: "https://new.carta.tech/pdumpfs"
---

# pdumpfs(8)

A daily backup system similar to Plan9's dumpfs

## NAME

**pdumpfs** – A daily backup system similar to Plan9's dumpfs

## SYNOPSIS

**pdumpfs** *src-dir* *dest-dir* \[dest-basename\]

## DESCRIPTION

**pdumpfs** is a simple daily backup system written in **Ruby** ( [ruby(1)](/ruby/1.md)), which is similar to Plan9's **dumpfs** that preserves every daily snapshot.

Back up your home directory with **pdumpfs**, and you can retrieve any past day's snapshot of any file.

**pdumpfs** constructs each day's snapshot in the directory named *YYYY/MM/DD* under the destination directory.  All source files are copied to the snapshot directory for the first time, and on and after the second time, **pdumpfs** copies only updated or newly created files and stores unchanged files as hard links to the files of the previous day's snapshot to save disk space.

The latest version of **pdumpfs** is always available at *http://namazu.org/~satoru/pdumpfs/*.

## EXAMPLE

To backup your home directory */home/yourname* to */backup*, run the following command.

```
pdumpfs /home/yourname /backup >/backup/log 2>/backup/error-log
```

On and after the second day, it is a good idea to invoke the backup command with [cron(8)](/cron/8.md) daemon.  Adding the following line to your crontab file allows you to back up your home directory at 5 a.m. everyday.

```
00 05 * * * pdumpfs /home/yourname /backup >/backup/log 2>/backup/error-log
```

If the backup system works well, you can retrieve any given day's file with a file name like */backup/2001/02/19/yourname/*...

## LIMITATION

- **pdumpfs** can only handle normal files, directories, and symbolic links.

- **pdumpfs** may not work on systems other than UNIX because **pdumpfs** utilizes hard links.

- **pdumpfs** is not suited for a directory containing large files which are updated frequently.

- If more than 31 day absence occurs, incremental backup would not be performed.  So, back up your files on a daily basis.

- With **pdumpfs**, you can safely remove unnecessary files because the past files can be retrieved at any time.  However, you must not rely too much on **pdumpfs**. It may have serious bugs.

## TIPS

- If the total disk usage increases by 10 MB everyday, about 4 GB disk space will be consumed every year.  It would not matter so much considering the recent evolution of computer resources.

- Back up your files to a physically separated device.

- On some systems, files can be made immutable.

  To make all files in */backup* immutable on Linux, run the following command as root:

  ```
  chattr -R +i /backup
  ```

  On 4.4BSD derived systems, run the following command as root:

  ```
  chflags -R schg /backup
  ```

  These commands will keep you from accidentally removing your backup files with **rm -rf**.

## AUTHOR

**pdumpfs** and the HTML document were written by Satoru Takabayashi ⟨satoru@namazu.org⟩.

This manual page was translated from the HTML document by Hiroyuki Shimada ⟨shimaden@din.or.jp⟩, and reformatted by Akinori MUSHA ⟨knu@iDaemons.org⟩.

## SEE ALSO

[chattr(1)](/chattr/1.md), [chflags(1)](/chflags/1.md), [crontab(5)](/crontab/5.md), [cron(8)](/cron/8.md)
