Both sides previous revisionPrevious revisionNext revision | Previous revision |
util:fixsmb [2018/02/15 21:09] – Updated to be readable and complete with details digital man | util:fixsmb [2020/11/12 19:09] (current) – Added content digital man |
---|
====== FIXSMB - Rebuild Synchronet Message/Mail Base ====== | ====== FIXSMB - Re-index Message Base ====== |
| The Synchronet ''fixsmb'' utility can be used to repair specific types of message base corruption by re-creating the index (''.sid'') file and optionally, the hash (''.hash'') file. In the process, it can optionally re-number messages (use with caution!), undelete deleted messages, and even fix (change) duplicate message numbers. |
| |
The fixsmb utility is used for repairing specific types of Synchronet message base corruption where the message base index file (''*.sid'') would benefit from being rebuilt. In addition to the index file, the following message base files are updated or rebuilt by fixsmb: | Do not use this utility unless directed to and always back-up your data first. |
* header allocation (''*.sha'') - not applicable to hyper-allocated message bases | |
* data allocation (''*.sda'') - not applicable to hyper-allocated message bases | |
* hashes (''*.hash'') - rebuilt when renumbering, updated with any missing hashes otherwise | |
| |
Fixsmb will also make the following changes to the header file (''*.shd'') file: | usage: fixsmb [-renumber] [-undelete] [-fixnums] [-rehash] <smb_file> [[smb_file] [...]] |
* The ''INTRANSIT'' attribute flag is removed from all messages that have it set | |
* The ''DELETE'' attribute flag is (optionally) removed from all messages that have it set | |
* The message base/status header is updated to reflect the correct total number of messages and last message number | |
| |
As part of this rebuilding process, fixsmb may also re-number all of the messages in a message base (the ''-renumber'' option), but that is generally considered a bad idea, especially for public message areas (sub-boards). Re-numbering the mail base (''[[dir:data]]/mail'') is not as big of deal, but still, don't renumber a message base unless you have to. | |
| |
During a message base rebuild, fixmsb may also "undelete" (restore to the index) any messages whose headers are still in tact, but were previously removed from the index due to being marked for deletion. The ''DELETE'' message attribute will also be removed from all messages in the message base when the ''-undelete'' option is used. | |
| |
===== Usage ===== | |
| |
The fixsmb utility does not read Synchronet configuration files, so it won't know where to find message base files (i.e. stored by default in ''[[dir:data]]/subs'' for sub-boards) unless you specify the path to the message base file(s) to operate on or the files are in the current working directory. | |
| |
The BBS should be offline while using fixsmb to rebuild Synchronet message base files. | |
| |
==== Syntax ==== | |
| |
usage: fixsmb [-renumber] [-undelete] <smb_file> [[smb_file] [...]] | |
| |
**Note:** | Example: |
Although multiple message bases may be specified on the command-line (e.g. using wildcards, e.g. ''*.shd''), it's a good idea to only use fixsmb on message bases that need it (e.g. report index or allocation related errors when scanned with [[util:chksmb]]). | fixsmb /sbbs/data/mail |
| |
| Example: |
| fixsmb /sbbs/data/subs/subsub |
| |
==== Repair ==== | ===== See Also ===== |
| * [[:util:|util index]] |
| * [[chksmb]] |
| |
The fixsmb utility can only repair //specific types// of corruption, specifically corruption related to the index, allocation, and hash files. Other types of corruption (e.g. in the header or data files) cannot be fixed using fixsmb. See [[util:smbutil#repair|smbutil]] and [[module:scrubmsgs]] for other message base repair options to address other types of message base corruption. | {{tag>fixsmb}} |
| |
===== See Also ===== | |
* [[util:chksmb]] | |
* [[util:smbutil]] | |
* [[util:index|Utilities]] | |
* [[module:scrubmsgs]] | |
| |
{{tag> smb}} | |