Tool to regularly generate drive file listing inventory?


Recommended Posts

Hi all,

I've recently barely recovered from a 4-drive failure, and the biggest gap I experienced while going through this was that I had no way of knowing what I might have lost on those 4 drives. I could mount the remaining drives and see what I had left, but there would be no way to confirm precisely what I had lost.

 

I'm looking for a plugin that will regularly create text file listings for each of the drives in my array. This would allow me to look in the appropriate file to see the contents of any given drive, even if that drive has been lost. Does such a tool exist?

 

Thanks in advance.

Edited by bfeist
Link to comment

I recently wrote a Windows VBS script that scanned all files and folders on a share and saved it to a CSV file.  Something like this could be edited and run as a scheduled task.  However, it might be better to write something in User Scripts, save the data to the flash/cache and run it as a cron job.  Been meaning to have a look at writing some user scripts...

Link to comment

I use the Dynamix File Integrity plugin. It's primary purpose is to calculate checksums for all files on a given disk and to compare the stored values with freshly calculated checksums on a regular basis. My disk usage strategy is to fill up one disk at a time and once it's full (I leave about 10 GB spare) I consider it to be read-only. The plugin checks for bit-rot and it also has the option to export a list of files and their checksums for each disk in a human-readable text format. So once a disk is full I export that file to my boot flash. For disks that are only partially full files are checksummed automatically after they are written and the checksums are stored with the files on the disk. You can choose to have the plugin export daily updates of the hashing process as separate files, and you can manually consolidate them into a single export file (just click Export) whenever you want.

 

Here's a snippet from one of the exported files (it's named disk2.export.hash and it lists every file on disk2), showing the checksum and the full path for each of three stored files:

2ebe316c1ccd795d54211f1ca5a1709b84ea2711e217f5ffa24a6e1b246473c190f99c815370965413aabf771152881a0c8b3e26965209f9ec0e414a551ef07d */mnt/disk2/L_Public/Shared Videos/DVD Rips/3 MKVs/Doctor Who Series 9 BD 5/Doctor_Who_Series_9_Disc_5_t01.mkv
b3a5aee83a7ab94e0926f59de61ffedfae997fc8da07cdaac3c5d995ba45b01ef75845b4bfc4716e04a25c6e528997cab581b8369bd7298b1377523baa45d1da */mnt/disk2/L_Public/Shared Videos/DVD Rips/3 MKVs/Doctor Who Series 9 BD 5/Doctor_Who_Series_9_Disc_5_t02.mkv
7e0ed01db6aaa03dfb163a61fcfd6688be6296ecb6003d3e1c539eba2351cc510f3c05bc1ecb5e0b415833dab9e0f73773268f6c10ef4cb72d2c6a4529083499 */mnt/disk2/L_Public/Shared Videos/DVD Rips/3 MKVs/Doctor Who Series 9 BD 5/Doctor_Who_Series_9_Disc_5_t03.mkv

I like it because it provides the information I need and it integrates very well with the system. It works best if you exclude folders and files whose contents change often - temporary download folders, Apple metadata files, etc.

 

 

Edited by John_M
Added more info
Link to comment

I scheduled a cron job to run the first of the month. It's not up-to-the-minute but its better than nothing.

 

#!/bin/sh
find /mnt/disk1 -type f -exec ls -lhs {} \+ > /mnt/disks/notinarray/diskinfo/disk1-`date +"%m%d%y"`.txt
find /mnt/disk2 -type f -exec ls -lhs {} \+ > /mnt/disks/notinarray/diskinfo/disk2-`date +"%m%d%y"`.txt
find /mnt/disk3 -type f -exec ls -lhs {} \+ > /mnt/disks/notinarray/diskinfo/disk3-`date +"%m%d%y"`.txt
find /mnt/disk4 -type f -exec ls -lhs {} \+ > /mnt/disks/notinarray/diskinfo/disk4-`date +"%m%d%y"`.txt
find /mnt/disk5 -type f -exec ls -lhs {} \+ > /mnt/disks/notinarray/diskinfo/disk5-`date +"%m%d%y"`.txt
find /mnt/disk6 -type f -exec ls -lhs {} \+ > /mnt/disks/notinarray/diskinfo/disk6-`date +"%m%d%y"`.txt
find /mnt/disk7 -type f -exec ls -lhs {} \+ > /mnt/disks/notinarray/diskinfo/disk7-`date +"%m%d%y"`.txt
find /mnt/disk8 -type f -exec ls -lhs {} \+ > /mnt/disks/notinarray/diskinfo/disk8-`date +"%m%d%y"`.txt
find /mnt/disk9 -type f -exec ls -lhs {} \+ > /mnt/disks/notinarray/diskinfo/disk9-`date +"%m%d%y"`.txt

 

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.