npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

usb-backup

v1.62.0

Published

Provides a solution to backup files that change infrequently such as (images/video/audio) from PC's and NAS devices to cheap and affordable usb drives for offline local or remote storage.

Downloads

2,340

Readme

usb-backup

Provides a solution to backup files that change infrequently such as (images/video/audio) from PC's and NAS devices to cheap and affordable usb drives for offline local or remote storage.

This is a port of a .net project i developed and have been using since 2010 that no longer runs on modern hardware.

npm version Node.js CI Join the chat at https://gitter.im/usb-backup/community

Getting started

Make sure you have node js version 16 or later installed. You get get it from here

https://nodejs.org/en/

There are two methods of running the application.

Publishing new package

  • you can look at the pipeline scripts in package.json to see how to publish a new version

Latest Bundled Package (Simple method)

  • Create an empty directory for where to run and store your backup database eg (c:\usb-backup)

  • From that directory run npx usb-backup

Your database will be setup in a data sub folder and scripts will be created so you can run the application at any time from a shortcut.

Run from source (For the technically inclined)

  • Clone the repository from https://github.com/danyo1399/usb-backup.git
  • run npm install
  • run npm start

The application will create the a data directory where the database will be stored.

Features

  • Backups are stored as plain copies of files that can be restored without the need of tools or software

  • USB storage is optimised by backing up only one copy of a files content (deduplication)

  • File hashes and metadata are stored in three locations source device, backup device, and application DB for redundancy

  • Backup files are hashed during copy instead of relying on the file hash on source or re hashing on backup device to ensure the we record an accurate file hash on the backup device

Known Limitations

  • Supporting unix allowed characters in file names that are not valid on windows when backing up linux filesystems on to windows formmated usb drives

  • Max file path lengths that exist in windows that dont on unix storage devices

  • Multiple files with the same hash will only be stored once on backup devices. Which file path is stored on the usb drive is indeterminate

  • Two files with different hashes with the same path on different devices will force the second file to have a unique suffix added to ensure we backup both files

Future features

  • Support for multiple backups of the same file
  • create device groups that can have a max size limit

Troubleshooting

Error: listen EADDRINUSE: address already in use

This means you either have the application already running or something else is listening on the same port. Either shutdown the other instance of the running application or running the application on another port by providing a different port number eg npx usb-backup 6000