# C2WATCHDIR

The `C2WATCHDIR` command monitors a directory and sends any new files to the Cloud C² server and then *removes the local file*.

`C2WATCHDIR` is most useful for collecting larger collections of data, and uses USB external storage as a temproary scratch disk.

## Options

`C2WATCHDIR` expects one option:  the path to the directory to monitor.

```
C2WATCHDIR /path/to/directory
```

By default, `C2WATCHDIR` removes files after they are sent to Cloud C².  To keep them, set the `C2_KEEP_FILES` variable before running `C2WATCHDIR`:

```bash
C2_KEEP_FILES=1 C2WATCHDIR /usb/foo/
```

## Experimenting

You can experiment using the `C2WATCHDIR` command live, either in the Web Shell in the web UI, or via `ssh`!

<figure><img src="https://932701053-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F520JUF2JxB2RMXztRVAV%2Fuploads%2FSDB1pb2CcY26Wp5hWBdM%2FScreenshot%20from%202023-02-21%2013-26-42.png?alt=media&#x26;token=88153c17-3343-41e1-81b1-b5b94755345d" alt=""><figcaption><p>Using the C2WATCHDIR command in the Web Shell</p></figcaption></figure>

## Examples

```bash
#!/bin/bash

# Title: Cloud C2 auto-send
#
# Description: Automatically send streams captured by DUMPSTREAM to Cloud C2

LED B SOLID

# Set the netmode to NAT, otherwise there is no connectivity at all
NETMODE NAT

# Wait for a USB drive 
USBWAIT

# Make the directory for streams 
mkdir /usb/web_streams

# Watch and upload streams to C2.  Remember to background it!
C2WATCHDIR /usb/web_streams &

# Collect unencrypted web pages on port 80
DUMPSTREAM br-lan SERVER /usb/web_streams/web_ 80
```
