This article will hopefully give you some insight into the woes of using an NTFS filesystem under Linux. All that’s required is to read and understand:
The dirty bit is an indicator of damage; for NTFS volumes, chkdsk is the safest method to check for and repair any damage and remove the dirty bit.
I presume this much is understood. Fine.
The question of why this seems to happen repeatedly with that one removable USB disk could potentially be answered by a number of scenarios.
-
Did my bash script possibly cause the error?
Possibly. I suppose only you could know. I don’t know the specifics of the backup you’re performing with that script; however, I’d question the wisdom of backing up files from a Linux filesystem to an NTFS formatted destination. Perhaps this is a consideration. A possible workaround might be to format this disk as EXT4. -
Are you multibooting with Manjaro and Windows?
If Windows Fast Startup (a hibernation variant) is enabled, this can cause a dirty bit to be triggered on unsuspecting volumes, whether damage exists or not. -
When you performed chkdsk on the drive, perhaps it needed more:
chkdsk /f x:
will usually filesystem errors but if the disk has deeper issues, you might need to try more advanced chkdsk options; such as/r
(for example), which also checks for bad sectors and (if found) marks them as bad so that data is no longer written to them. -
It’s also possible that the removable drive doesn’t have a stable connection: the cable or connector(s), or the disk itself, might need replacing. I experienced something similar once myself; a connector failed to connect properly at even the slightest touch, unless it was seated at a specific position.
-
If you manually disconnect the disk before it’s fully unmounted; or if you sometimes reboot while leaving the disk connected. Either of these conditions might trigger a dirty bit, in which case it would be habit that needs to change.
Just a few thoughts for consideration.
Cheers.