Setting up multi-report on TrueNAS CE 25.10

Hey all,

BRAND new to the NAS world here, as in I literally finished building my NAS pc and installing the software yesterday. Unfortunately, with my luck, the latest version apparently came out that same day and it looks like they got rid of the SMART testing feature.

I know next to nothing about Unix so I don’t know how to use Cron to setup smart testing, which is the alternate method I’ve seen people suggest. I found multi-report after more research.

I’ve gotten the latest multi-report 3.x, as well as the test script, and I’ve gone through the setup process for them to where I can email myself a SMART report of my drives by running the multi report script; I’m assuming this is the short test.

I’ve even gotten to the point where I’ve setup CRON to run this script every day at 6am, but the user guide suggests I run a short test every day, a long test once a month, and multi-report every day. This is where I’m confused. I thought multi-report ran a short test? Why does the user guide suggest I run a short test and multi report separately? Also, how in the world do I run a long test with the multi report script? All these all separate tests I need to setup on CRON, and if so, how? I would greatly appreciate your help here to support an absolute noob.

My setup in case it’s relevant:

Intel i5 11400

32gb ddr4 RAM

16GB Intel optane ssd for truenas

256gb Samsung nvme ssd for apps

2x 22tb seagate exos mirrored for important backups (also where I have a “scripts” dataset to hold the multi report and test scripts)

Single 22tb seagate exos for streaming content

Thank you in advance!!

@joeschmuck would greatly appreciate your advice here

Things are easier than you expect, the setup for the cron that run multi_report.sh sounds good to me (i do the same), what you have to do if i may suggest is to configure it accordingly to your needs.
You can grab the configuration tool from here:

load your actual config file to have a better access on the settings.
In my setup i perform a dayli short and a weekly long, and my settings are

for shorts (the delay is set to 180s so the email will run with all the disk end theyr test, probably if you want the same you may have to increase it, my disks are way smaller than yours);
and for long

this will allow the mr script smartly split each disk to test each day; if a long test is scheduled, the tool will skip the short one.

Take your time also to explore others script capabilities, having them exposed via a GUI should make things a bit easier than access settings via shell

1 Like

It might be the way I wrote it or you just misunderstanding, but that doesn’t matter. I see what you are doing and let me try to resolve that for you.

  1. Multi-Report was designed to be run at least once a day. You need to make the changes o the CRON Job to setup the script to run at 6AM. It sounds like you already have this setup.
  2. Multi-Report, by default will run a SMART Short test once a day on every drive unless there is a SMART Long/Extended test scheduled, then that drive of course runs a Long test. This is the default settings if you do nothing at all to the Multi-Report setting other than entering your email address.
  3. You are in a unique situation that more and more people are having, which is very large drive capacities. These large drives take a very long time to run a SMART Long test, sometimes well over 24 hours, and longer if the drive is active. All SMART self-tests run in low priority so any data request can be accomplished quickly and not be slowed down to the test.

If you would like to know when each drive will have a long test run on them, from the CLI run ./drive_selftest.sh -demo and you will have a report generated which will show you the days of the week each drive will have a long test performed. The -demo mode has several options where you can simulate monthly, weekly, short, or long tests. But it is limited in only doing short or long at a single time. Refer to -help for more information.

If you do not like that outcome, you can go to the link @oxyde provided and adjust some of the settings. However, in your particular situation, I would run the default. Get familiar with your system and if you feel that is too little or too much testing, then make adjustments later.

One thing I would like to stress, if Multi-Report sends you emails that are Critical or Warning, read the email. “All is Good” means you can really ignore the email. You should never continue to see errors, there are ways to adjust for those so you get an “All is Good” email, unless there is a new problem.

I hope this answers your questions.

And Welcome to the forums.

2 Likes

So with the config file and using the config tool you linked, I’d just run the same multi tool script file and it’ll do a short or long test depending on what is set to happen on the schedule, or do I need to do a Cron job for each test?

If I’m understanding correctly, if I want to for example a short test at 6am each day but then a long test for 1 of 3 drives on Sunday every week, but at 12am, I’d do the following:

Setup the config file to do a short test Monday-Saturday at 6am

Do long test on 1 drive every Sunday at 12am

Setup cron job to run multi report Mon-sat at 6am

Setup another cron job to run multi report Sun at 12am

Is this right? If so, would multi tool take care of sequencing through my drives every time it does a long test, i.e. do sda this Sunday, sdb next Sunday, and so on?

Nope, the script is not designed that way. Things get very complex when we do thing like that.

You run the script once per day, and the script will run the test it was setup to run which will be Short and/or Long tests that scheduled (by the script).

No. As I said previously, you already have the CRON setup if you are getting an email at 6AM (or probably 6:02AM). Run the script only once per day.

If you have already modified yout config file, I would recommend you generate a new one that only has your email listed, the bare minimum to get your system testing. You can do that by running -config and selecting a new config file.

Run that script via Cron at 6AM every day, get a feel for what Multi-Report is doing before making any changes. If you start to fiddle with settings, you could end up with a not very good testing pattern.

Do what I said above to know what that testing pattern will be:

Do not bite off too much, just get it working. Post the output of that demo for more advice.

If you really want to perform the testing of drives on specific days and times, you have very few drives so you could easily setup a crob job for each individual test per the schedule you desire.

SMART Drive Self-test Script: 1.07 (27 Sept 2025)
Standalone or Companion to Multi-Report 3.1 and later.

For Standalone Operation (not using multi_report_config.txt file),
edit lines (around line 110) ‘######### USER SETTINGS #########’ as desired.

There are six significant groups of variables: Automatic Update, Short tests, Long tests,
SCRUB/RESILVER, Ignore Drives, and Reports.

Open this file up in a simple text editor to view the configuration notes, starts on line 110’ish.
NOTE: If you edit this file and it states the file cannot be run, ensure your text editor
did not end each line with ‘CRLF’. All lines should end with ‘LF’.

Automatic Updates will allow the drive_selftest.sh file to be updated should it be out of date.

This script can use the multi_report_config.txt file when combined with Multi-Report.
You must configure these settings in Multi-Report, otherwise the values at the beginning
of this script will be used.

Short and Long tests are configured as follows:

Test_Mode: 1 = Use Short(or Long) Drives_to_Test_Per_Day value
2 = All Drives Tested (Ignores other options except when active)
3 = No Drives Tested

Time_Delay_Between_Drives: Tests will have a XX second delay between the
drives starting testing.

Short_Drives_Test_Delay: Time period in seconds to wait for SHORT tests to complete.
Default is 130 seconds for use with Multi-Report, if not then set to 1 second.

BELOW OPTIONS ARE USED ONLY WITH Test Mode 1

SMART_Testing_Order: Select “DriveID” or “Serial” sorting order.

Drives_to_Test_Per_Day: How many drives to run each day minimum.
The script will auto-correct if you choose too small of a value.

Drives_Test_Period: Options are “Week” (Mon-Sun) or “Month” (days 1 - 28)

Drives_Tested_Days_of_the_Week: Days of the week allowed to run:
1=Mon, 2=Tue, 3=Wed, 4=Thu, 5=Fri, 6=Sat, 7=Sun Default = “1,2,3,4,5,6,7”

Press Any Key to Continue

Missed Drive Catchup Feature

This feature was added to enable catching up on any S.M.A.R.T. Long tests for
drives that were missed because the script was not being run every day.
The default setting is to make up one extra drive per day.
You may change this setting to 0 (zero) to disable this feature,
or increase the value as desired.

NORMAL OPERATION DOES NOT REQUIRE ANY COMMAND LINE SWITCHES

Command Line Switches:
NOTE! The demo mode uses the ‘Drives_Tested_Days_of_the_Week’ value to
calculate how many drives are to be run on which days of the week.
If the demo results are not the desired effect, adjust the values.

'-update' --- Will download the current published version of this script.

'-timer' --- Generates a file which tracks how many seconds are utilized
             for each routine within the script.  Used for development.

'-demo' '[short|long]' '[1|2|3]' '[week|month]' '[driveid|serial]'
    Lists full drive testing schedule.
    Use short or long options to focus on one list.
    Override Settings will not use the script set values.
        Test Mode using '1','2', or '3'.
        Testing Period 'week' or 'month'.

'-clearlog' --- Delete all the drive_selftest log files.

'-debug'    --- Runs the script in Debug Mode

Example: drive_selftest -demo short 1 week serial
Means: Simulate Short SMART Test, Test Mode 1 to spread across a Week
and using the days of the week set in the script setup.

Example: drive_selftest -demo short
Means: Simulate a Short SMART Test using the current configured settings

This will provide a listing of how your drives would be tested for
a short test in Test Mode 1, providing you the dates they would be tested.

Here is the output. These all seem like general testing options, I don’t see any specific test dates for my drives.

That output is not the demo output.
How are you running the drive test demo?
What command are you using?

A normal output would be similar to this:

root@owen:/mnt/Pool1/general/scripts/multi-report# ./drive_selftest.sh -demo
Joe's SMART Drive Self-test Script - Run: 07 November 07:34:06 PM
Script Version: 1.07 (27 Sept 2025), TrueNAS Scale 25.04.2.6
Using "/mnt/Pool1/general/scripts/multi-report/multi_report_config.txt" values..."
 
Logging Enabled
 
Checking for Drive-Selftest Updates
 
 - No Update
 
SHORT TEST SIMULATION
  Short Test Mode:(2) "Short SMART Test All Drives", Running Week Option, No Sorting
 
LONG TEST SIMULATION
  Long Test Mode:(1) "Long SMART Test on 1 Drive(s) Per Day", Running Week Option, Sorting by: Serial
 
    Sorting Drive Test Order ...................................................................................................................................................................................................................................................................................................................................................................................................................... 
 
    Authorized Test Days: Fri, Tue, Wed, Thu, Fri, Sat
    Total Drives Recognized: 28
 
      You have 28 drives and 6 authorized days to test.
      Making adjustments to ensure all drives are tested within the given period of time, please wait....
      Recalculation Complete, the new value is 5 drive(s) spread across
      the 6 authorized day(s).
 
 
Fri:
 sdb, sdg, sdc,
 sde, sdf
 
Tuesday:
 sdd, sdh, sdi, sdm, sdj
 
Wednesday:
 sdk, sdl, sdn, sdo, sdp
 
Thursday:
 sdq,
 sdr, sds, sdt, sdu
 
Friday:
 sdw, sdz, sdy, sdaa, sdab
 
Saturday:
 sdv, sdx, sda
 
 
19:35:22.63:  Drive-Selftest Wrapping things up...
Elapsed Time: 1 minutes and 15.84 seconds elapsed.
 
 
Saving Log (file name: /mnt/Pool1/general/scripts/multi-report/DS_Logs/drive_selftest_demo_7.txt)
SIMULATION: 130 second timer skipped.
Exiting Joe's SMART Drive Self-test Script
root@owen:/mnt/Pool1/general/scripts/multi-report#

weird, I ran it again and it gave me this. It’s nowhere near as detailed as yours though.

-—> Silent Enabled - Minimal Data and any Errors will be reported <----
----> You may experience prolonged silence, be patient <----

…SHORT TEST SIMULATION
LONG TEST SIMULATION

Monday:
nvme1

Tuesday:
sdd

Wednesday:
sda

Thursday:
sdc

Friday:
sdb

Saturday:
nvme0

Sunday:
No Remaining Drives

Saving Log (file name: /mnt/truenas_apps/scripts/DS_Logs/drive_selftest_demo_7.txt)
SIMULATION: 130 second timer skipped.

Exiting Joe’s SMART Drive Self-test Script

It’s not really clear to me what the output is telling me, is it saying it does a long test on each drive listed above on the specified days of the week? What about short tests?

I also want it to exclude sdd because it’s just a flash drive that isn’t holding anything for the NAS.

Some of the sparse info is because you have the silent mode enabled for the drive script so maybe it just outputs essential data. You also have less drives than I do (32 in the server I pulled the example from).

It looks like something is misconfigured in that it appears the script is not running a short tests but is running a long test on one drive each day.

You can try setting the script parameters up via the configuration to what I have shown and all drives will do a short test daily and the script will sort drive amounts into log test days. The script will figure out how many drives to do a long test on for you if long test is left at option mode 1

If using the online BETA - Multi-Report Configuration Editor make sure it is writing or editing the correct multi-report config file. Don’t forget to save the file back to your server

These are some suggested settings that work petty good to get started.
Load your existing multi-report config file into the editor
goto Drive setting
Drive Self-Test S.M.A.R.T Testing
General configuration

  • Do you want to run SMART Testing? enable
  • Use the multi_report_config.txt file for Drive-Selftest? enable
  • Enable Drive Testing Tracking? enable
  • Only error messages will be output to the stdout. (Silent Mode) disable (uncheck)
  • Do you want to enable S.M.A.R.T. capabilities if the drive has it disabled, AND able to support it? enable
  • Maximum Drive Catchup = 2

Short Tests Group 1

  • Select the Test Mode = 2 all drives tested
  • rest will be greyed out as there is nothing to set

Long Tests Group 1

  • Select the Test Mode = Use Test Mode 1

Long Tests Group (Test Mode 1 only)

  • Testing Sort Order = by drive serial number
  • Test all drives in a week or month. = Week
  • Days of the week testing is allowed. = Sun-Thurs checked

@PhilD13 is correct, the SHORT tests are not being displayed due to the default setting called “Silence”. But if you didn’t change the periodicity of the testing, the drives will be tested running a Short test on all drives each day except any drives running a Long test.

The output looks good. You have two NVMe drives and one SSD (I don’t know which drive that is, you have not provided that detail but no big deal). You have three 22TB drives.

As you can see, this is the schedule for the Long tests. They look fine, however as I stated earlier, the 22TB drives take a long time to perform the Long/Extended test. If yo look at the SMART data, it will tell you how many minutes to wait before polling for an Extended test. This will give you a ballpark number. If it take 20 hours then that would be great, if it takes longer than 24 hours, then you will have two drives testing at the same time for a small period of time. This is not a major issue, in fact it should not be an issue at all for any normal NAS.

At this point in time, you do not need to do anything. Sit back, read the reports being generated each day. If you have a question about the report, just ask and I or someone else will jump in.

If understanding hard drive specs is new to you, I suggest you take a look at this Wiki page. Lots of good information, enough to maybe make you want to know more.