For context i’ve been using XigmaNAS (previously NAS4FREE) since 2015. Prior to that I was using proprietry NAS’s. Im reasonably ok with Xigma and FreeBSD but continually issues with drivers means im at a point where im looking to move on.
I’ve installed TrueNAS Scale on an older server I had to give it a try and plan for migrating. All in all ive been really impressed at how quickly I was able to get the box up and running. Performance also seems on par, so apart from trying to learn linux and navigate a new UI it’s been a pretty seamless process. Pretty solid help files and older posts also help and are a big step up from what im used to.
There are a few things though which im struggling with and im hoping there are simple tweaks I can do to help. I’ve searched a fair bit for many of these but one of the problems im running into is some of the features referenced in help articles no longer appear to be part of TrueNAS scale (e.g. SMART testing functionality). I’m not quite confident enough with CRON scripting (yet) to roll my own so hoping these are problems that have already been solved that I can download apps or scripts for.
XigmaNAS has an option to run “SMART email tests” on each drive on bootup. In reality this is a set of emails (1 per drive) that is basically the output of a smartctl -h on each disk. I’ve found this quite helpful in the past as often drives have started going bad after a loss of power and this has saved me a few times. I dont need an email for each disk (1 email is fine) but i’d really like something like this back. Just a quick scan help me know if any disks are going bad (in XigmaNAS the email title will show the SMART error if one occurs). According to the documentation I found it seems this functionality used to be in storage but has been removed. I’d also like to run SMART short tests weekly on all drives with a report sent via email.
I setup my weekly scrub event. Once again in XigmaNAS i have it set to send me an email with the output of the scrub. Very basic, it’s just the output of a zpool status -L which shows when the scrub ran, how long it ran and if any errors were found / how much data was fixed. Once again something I do just to keep an eye on pool health. I’ve setup the TrueNAS email notifications but all I get is a notification that “Scrub has started”. Not super useful.
On XigmaNAS when I import my drives they align with their place in the enclosure / hba. Disk 1 is da0, disk 2 is da1, etc. If I see a drive fail its pretty easy to know which needs replacing as da3 dying means I go to enclosure slot 4 and replace the drives. Easy. In TrueNAS it appears as though the disk location is randomised. Every time I boot sda is a different drive… Is it possible to set TrueNAS to be consistent? I can get used to the new drive lettering, but seeing all my drives are currently the same make and model with very, very similar serial numbers it’s a bit of a pain trying to determine whats what.
For 1 & 2 i’ve tried the built in functionality and found it not able to achieve what im after. Also tried a thing called multi_report. Not super comfortable with it to be honest, it seems to call back from the server to update constantly which isnt behaviour im ok with… and also it just doesnt work. Followed a very long guide (69 pages) but it doesnt seem to behave as expected. Sure its great but id be happier with something simple that just runs locally…
The multi-report that you previously mentioned is pretty much the gold standard. @joeschmuck is active in terms of development, troubleshooting, & feedback. If you’re having issues or concerns reaching out to him is a safe bet.
Otherwise, I’ve just stuck to older versions of TrueNAS Scale because I think the changes done to smart testing/reporting are stupid from a SOHO perspective & a serious step down on the latest versions. Enterprise customers can choose to ignore health indicators & simply outright replace a drive when it dies; I don’t have that luxury & need to remain vigilant.
Realistically everything you want is already made in the multi-report & any advice would be just re-inventing the wheel. I’m half-certain that there is a built in option to disable update callbacks & mostly sure that joe has the code open source.
Welcome to the TrueNAS forums. Hopefully we can provide you the answers you are looking for.
As @Fleshmauler (thanks for the shout-out) has said, I maintain a few scripts, one if called Multi-Report. There is a 850 post thread on the forum, I recommend reading the first post as I update it when a new version is released and then maybe the last 10-15 posts so you get an idea of what is going on.
Multi-Report, if installed and left to use the default settings, will run S.M.A.R.T. test (Short on all drives Daily, Long on all drives spread across a week) on your drives for you and send you a daily report. When you see your email, the subject line will end in “All is Good”, “Warning”, or “Critical”. This is how you will know if you must open that email. Setting up is as easy as providing your email address.
In a nutshell, you setup a CRONTAB for once a day and this will run the script. Once you have it working, it is hands off. It just runs.
If you ONLY want to run SMART tests and not have the report, you can use the Drive-Selftest script, which came from Multi-Report. It only runs the SMART tests, nothing else. It will report if it cannot run a SMART test, and gives you the exit code. This normally happens for USB connected drives and not having the correct interface for smartctl. But if you know the interface type, that can be added to your config file and the script will add that into it’s list of interfaces to scan.
Anyway, reach out if you have questions. I use to run FreeNAS 0.7 (change to NAS4Free) way back when, then iXsystem acquired it and been here ever since.
With the script… I can get it running fine if I drop to shell and execute it manually. It’s not precisely what I want but its more than close enough to give me a great start. However I cant get it to run as a Cron job. It seems to run, and it sends an email, but its empty and does not contain any useful information.
Sorry trying to link a picture and just realised I cant.
Basically I get a pretty empty email with the following content. No visualisation, title is “Critical error” but no way to see why or what it is. If i run in shell I get the pictures expected.
Multi-Report v3.28 dtd:2025-12-09 (TrueNAS SCALE - Goldeye 25.10.0.1)
Report Run 26-Dec-2025 Friday @ 19:00:13
Total Memory: 62Gi, Used Memory: 57Gi, Free Memory: 3.3Gi
System Uptime: 2 days, 9:25:04
Script Execution Time: 1 Minutes : 7 Seconds
Drive Layout Visualization
I suspect this relates to the hardening you mention on page 22 of the user guide on github, however the command it states to use for TrueNAS scale throws an error and will not run on my setup. I was also unable to do any of the chmod stuff on page 16 as it all throws permission denied errors, even when logged in as su.
I may have figured this out myself. I needed to use sudo without password to get it to execute as expected.
Now that I can see the whole report im beginning to understand that perhaps I misunderstood its purpose.
Im guessing it does not commence a scrub, but rather reports the last output of a scrub.. so I should have the scrub setup as a seperate job to run before multi report?
Also, if I wanted to get one report a week (with all drives having smart run on them once) and a scrub, could I just set up cron jobs to run the smart test on each of the drives at say a 3am on a Saturday, a Scrub to start on a 3am Sunday, and the report to be generated at 9am Sunday?
The script requires ‘privileged’ access so most people run it as ‘root’, but if you can make it work fine using ‘sudo’ then that is fine, but using ‘sudo’ is the same as using ‘root’.
A SCRUB is setup in the TrueNAS GUI. The default is Monthly, on a Sunday.
You can do this. You will need to setup the SCRUB schedule via the TrueNAS GUI. Then you setup a custom CROB Job in the TrueNAS GUI to run ‘multi_report.sh’ once a week at 3AM. The first run will perform mostly a SHORT test, and one or more LONG tests. After that, the ‘week’ (default) value for LONG tests should override all SHORT tests if run only once a week.
Multi-Report was not designed to run once a week, it was designed to run once a day, everyday. This means that you will have alarm messages so you would need to change the Test Age from 2 to 8.
My suggestion:
Setup the CRON Job as outlined in the instructions (Quickstart Guide) to run every day at 3AM.
Configure Multi-Report to perform Long tests only on Saturday.
This will run a SMART Short test once a day except on Saturday.
You will get an email everyday and are running what I consider a proper SMART test schedule.
The permissions issues are almost certain to be ‘ACL’ driven. In FreeNAS 0.7 you did not use ACLs and just did the UNIX thing of providing a directory permissions and you could do whatever you wanted. ACLs add a nice layer of extra protection, although I would be fine without that extra layer.