Both sides previous revisionPrevious revisionNext revision | Previous revision |
util:smbutil [2018/03/01 12:11] – Links to util:binkit changed to module:binkit digital man | util:smbutil [2022/04/03 03:53] (current) – [Syntax] Added V, D, u, L and U to match smbutil -h output nelgin |
---|
====== smbutil - Synchronet Message Base Utility ====== | ====== SMBUTIL - Message Base Utility ====== |
| |
The Synchronet Message Base Utility (smbutil) can be used for several things, but most importantly, it must be used for maintaining the message bases of your system's public message areas (sub-boards). | The Synchronet Message Base Utility (''smbutil'') can be used for several things, but most importantly, it must be used for maintaining the message bases of your system's public message areas (sub-boards). |
| |
The ''m'' command (for //maintenance//) instructs smbutil to mark old messages, and messages over the maximum sub-board limit, as //deleted// so that the disk space used by these message can be allocated to new messages. If you are using the 'Hyper Allocation' or 'Fast Allocation' method for your message bases, you must also use this utility to pack your message bases periodically. The pack (''p'') command instructs smbutilto compress the message bases, removing any unused allocation blocks (for messages marked as //deleted//). | The ''m'' command (for //maintenance//) instructs smbutil to mark old messages, and messages over the maximum sub-board limit, as //deleted// so that the disk space used by these message can be allocated to new messages. If you are using the 'Hyper Allocation' or 'Fast Allocation' method for your message bases, you must also use this utility to pack your message bases periodically. The pack (''p'') command instructs smbutil to compress the message bases, removing any unused allocation blocks (for messages marked as //deleted//). |
| |
smbutil maintenance and/or packing should be done using an //exclusive// daily timed event (configured in [[module:binkit]]->External Programs->Timed Events). If your message bases are using the 'Fast Allocation' or 'Hyper Allocation' storage methods, you should run maintenance before packing (there is no reason to pack if you do not run maintenance!). If your message bases are configured for the 'Self Packing' method, you do NOT need to use smbutil to pack, only to perform maintenance. | smbutil maintenance and/or packing should be done using an //exclusive// daily timed event (configured in [[util:SCFG]]->External Programs->Timed Events). If your message bases are using the 'Fast Allocation' or 'Hyper Allocation' storage methods, you should run maintenance before packing (there is no reason to pack if you do not run maintenance!). If your message bases are configured for the 'Self Packing' method, you do NOT need to use smbutil to pack, only to perform maintenance. |
| |
**Note**: | **Note**: |
x[n] = dump msg index at number n | x[n] = dump msg index at number n |
v[n] = view msg headers starting at number n | v[n] = view msg headers starting at number n |
| V[n] = view msg headers starting at number n verbose |
i[f] = import msg from text file f (or use stdin) | i[f] = import msg from text file f (or use stdin) |
e[f] = import e-mail from text file f (or use stdin) | e[f] = import e-mail from text file f (or use stdin) |
c = change msg base status | c = change msg base status |
R = re-initialize/repair SMB/status headers | R = re-initialize/repair SMB/status headers |
| D = delete and remove all msgs (not reversable) |
d = delete all msgs | d = delete all msgs |
| u = undelete all msgs (remove delete flag) |
m = maintain msg base - delete old msgs and msgs over max | m = maintain msg base - delete old msgs and msgs over max |
p[k] = pack msg base (k specifies minimum packable Kbytes) | p[k] = pack msg base (k specifies minimum packable Kbytes) |
| L = lock a msg base for exclusive-access/backup |
| U = unlock a msg base |
</code> | </code> |
| |
====Examples==== | ====Examples==== |
| |
=== Mainteance === | === Maintenance === |
| |
for maintenance and packing (100k or more per sub): | for maintenance and packing (100k or more per sub): |
=== Repair === | === Repair === |
| |
If you have a message base that is severely corrupted (e.g. ''[[module:binkit]]'' cannot open it for index repair), you can use the following smbutil command-line to re-initialize the message base status header: | If you have a message base that is severely corrupted (e.g. ''[[util:fixsmb]]'' cannot open it for index repair), you can use the following smbutil command-line to re-initialize the message base status header: |
| |
smbutil -C Rcs /sbbs/data/subs/badbase | smbutil -C Rcs /sbbs/data/subs/badbase |
| |
This command will instruct smbutil to: | This command will instruct smbutil to: |
-continue upon error hen opening a corrupted message base | -continue upon error when opening a corrupted message base |
-re-initialize the SMB/status headers of the message base | -re-initialize the SMB/status headers of the message base |
-change/configure the status header values (e.g. max messages, CRCs, age) | -change/configure the status header values (e.g. max messages, CRCs, age) |
-display the status header | -display the status header |
| |
After repairing a message base in this manner, you may still need to run ''[[module:binkit]]'' on it to resolve any remaining errors reported by ''[[module:binkit]]''. | After repairing a message base in this manner, you may still need to run ''[[util:fixsmb]]'' on it to resolve any remaining errors reported by ''[[util:chksmb]]''. |
| |
=== Auto-post === | === Auto-post === |
| |
**Note**: | **Note**: |
Although message importing/auto-posting via smbutil is supported, the preferred solution is to use the ''[[module:postmsg]].js'' module (e.g. via [[module:binkit]]). | Although message importing/auto-posting via smbutil is supported, the preferred solution is to use the ''[[module:postmsg]].js'' module (e.g. via [[util:JSexec]]). |
| |
| |
===== See Also ===== | ===== See Also ===== |
* [[module:binkit|Utilities]] | * [[util:index|Utilities]] |
* [[module:binkit]] | * [[util:fixsmb]] |
* [[module:binkit]] | * [[util:chksmb]] |
| |
{{tag>smb msgbase subs}} | {{tag>smb msgbase subs}} |