Synchronet v3.19b-Win32 (install) has been released (Jan-2022).

You can donate to the Synchronet project using PayPal.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
config:semfiles [2011/10/28 15:39] – First draft, more to add. digitalmanconfig:semfiles [2024/01/12 17:25] (current) – [QWKnet Timed-event Semaphore Files] Add pause semaphore file details digital man
Line 1: Line 1:
 ====== Semaphore Files ====== ====== Semaphore Files ======
  
-Synchronet supports a variety of semaphore files which can be used to externally trigger operations of the various servers and services.+Synchronet supports a variety of semaphore files which can be used to externally-trigger internal-operations of the various servers and services.
  
-The contents of a sempahore file are not relavent; the mere existence or updated date/time stamp of the file is enough to trigger the operation.+The //contents// of semaphore files are not relevant; the mere existence or updated date/time stamp of the file is enough to trigger the coresponding operation.
  
-Semaphore file can be create or their date/time stamp updated with simple command-line operations.+Semaphore files can be created or their date/time stamp updated with simple command-line operations. For example:
  
-Windows:+on Windows:
   C:\>echo. > \sbbs\data\dothing.now   C:\>echo. > \sbbs\data\dothing.now
  
-UNIX: +on UNIX: 
-  touch /sbbs/data/dothing.now+  touch /sbbs/data/dothing.now
      
  
-===== Existence Semfiles =====+===== Existence Semaphore Files =====
  
-These semaphore files just need to be merely created to trigger the operation and the semaphore file will be automatically deleted:+Existence semaphore files just need to be merely created to trigger the corresponding operation and the semaphore file will be automatically deleted:
  
-==== Event Semfiles ====+==== Sysop Available for Chat ==== 
 +If the file ''[[dir:ctrl]]/sysavail.chat'' exists, then the sysop availability for chat with users can be indicated and users will be allowed to page the local sysop to chat. 
 +==== Event Semaphore Files ====
  
-Events that have been configured in [[util:SCFG]]->External Programs->Timed Events can be externally triggered by creating the file ''[[dir:data]]///<event>//.now'', where ''//<event>//'' is the "Internal Code" if the timed event. Events are executed (serially) by the [[server:terminal|Terminal Server]] Event Thread.+Events that have been configured in [[util:SCFG]]->External Programs->Timed Events can be externally triggered by creating the file ''[[dir:data]]///<event>//.now'', where ''//<event>//'' is the "Internal Code" of the corresponding timed event. Events are executed (serially, by default) by the [[server:terminal|Terminal Server]] //Event Thread//.
  
 Example (forcing execution of the FidoNet import event): Example (forcing execution of the FidoNet import event):
  
-  touch /sbbs/data/fidoin.now+  touch /sbbs/data/fidoin.now
      
-==== QWK Pack Semfiles ====+==== QWK Pack Semaphore Files ====
  
 QWK message packets can be created for specific user accounts by creating the file ''[[dir:data]]/pack//<user>//.now'' where ''//<user>//'' is the number of the user account to to create the packet for.   QWK message packets can be created for specific user accounts by creating the file ''[[dir:data]]/pack//<user>//.now'' where ''//<user>//'' is the number of the user account to to create the packet for.  
Line 32: Line 34:
 Example (forcing the creation of a QWK packet for user #1): Example (forcing the creation of a QWK packet for user #1):
  
-  touch /sbbs/data/pack0001.now+  touch /sbbs/data/pack0001.now
      
 QWK packets are created in the ''[[dir:data]]/file'' directory with a filename of ''//<user>//.qwk''. If a QWK packet already exists for the user, it will be opened and appended with any new messages. QWK packets are created in the ''[[dir:data]]/file'' directory with a filename of ''//<user>//.qwk''. If a QWK packet already exists for the user, it will be opened and appended with any new messages.
  
-==== QWK Pre-pack Semfile ====+==== QWK Pre-pack Semaphore File ====
  
 The QWK pre-pack event (which runs automatically once a day) can be forced by creating the file ''[[dir:data]]/prepack.now''. The QWK pre-pack event (which runs automatically once a day) can be forced by creating the file ''[[dir:data]]/prepack.now''.
  
-==== QWKnet Call-out Semfile ====+==== QWKnet Call-out Semaphore File ====
  
 QWK Network hub call-out events can be forced to execute by creating the file ''[[dir:data]]/qnet///<hub-id>//.qwk'', where ''//<hub-id//'' is the QWK-ID of the QWKnet Hub configured in [[util:SCFG]]->Networks->QWK. QWK Network hub call-out events can be forced to execute by creating the file ''[[dir:data]]/qnet///<hub-id>//.qwk'', where ''//<hub-id//'' is the QWK-ID of the QWKnet Hub configured in [[util:SCFG]]->Networks->QWK.
Line 46: Line 48:
 Example (forcing QWK call-out to QWKnet hub //VERT//): Example (forcing QWK call-out to QWKnet hub //VERT//):
  
-  touch /sbbs/data/qnet/vert.now+  touch /sbbs/data/qnet/vert.now 
 +   
 +==== QWKnet Timed-event Semaphore Files ==== 
 +After receiving and processing a QWKnet ''.QWK'' or ''.REP'' file, Synchronet will //touch// the ''[[dir:data]]/**qnet-qwk**.now'' or ''[[dir:data]]/**qnet-rep**.now'' files to trigger timed events of those names, if they exist, to execute.
  
-===== Timestamp Semfiles =====+==== Pause Server Semaphore File ==== 
 +The existence of the file ''[[dir:ctrl]]/pause'' (or a supported service/host variant) will cause that server to stop accepting incoming client connections. Any existing clients/connections will continued to be service while the server is paused. Removing the file will "resume" the server. 
 +===== Timestamp Semaphore Files =====
  
-These semaphore files are not deleted when the operation is triggered, so the date/time stamp of the file must be updated (i.e. the file must be "touched") to trigger the operation again:+Timestamp semaphore files are not deleted when the operation is triggered, so the date/time stamp of the file must be updated (i.e. the file must be "touched") to trigger the operation again:
  
-==== Recycle Semfiles ====+On a multi-host BBS, the servers and services on a specific host can be signaled by "touching" the file ''[[dir:ctrl]]/<semfile>.//<hostname>//'' or ''[[dir:ctrl]]/<semfile>.//<host.domainname>//'' instead.
  
-Synchronet servers and services can be forced to terminate all threads, close sockets, and reload their configuration files by "touching" the file ''[[dir:ctrl]]/recycle''.+A specific server or service may be signaled by "touching" the file ''[[dir:ctrl]]/<semfile>.//<service>//'' instead, where ''//<service>//'' is one of: ''term, ftp, mail, web, or services''.
  
-On a multi-host BBS, the servers and services on a specific host can be recycled by "touching" the file ''[[dir:ctrl]]/recycle.//<hostname>//'' or ''[[dir:ctrl]]/recycle.//<host.domainname>//'' instead.+==== Recycle Semaphore Files ====
  
-A specific server or service may be recycled by "touching" the file ''[[dir:ctrl]]/recycle.//<service>//'' instead.+Synchronet servers and services can be forced to terminate all threads, close sockets, and reload their configuration files by "touching" the file ''[[dir:ctrl]]/recycle''.
  
 Servers or services that have the ''NO_RECYCLE'' option flag set (in the ''[[sbbs.ini]]'' file) will **not** be recycled by external touching of the //recycle// semaphore file. Servers or services that have the ''NO_RECYCLE'' option flag set (in the ''[[sbbs.ini]]'' file) will **not** be recycled by external touching of the //recycle// semaphore file.
 +
 +:!:\\
 +If touching the ''recycle'' semaphore file does not trigger an ''sbbs'' server/services recycle (e.g. on Linux), see [[faq:nix#recycle]] for details on why that may be.
 +
 +==== Shutdown Semaphore Files ====
 +
 +Synchronet servers and services can be forced to terminate (shutdown) by "touching" the file ''[[dir:ctrl]]/shutdown''.
 +
 +==== Clear Failed Login List Semaphore Files ====
 +
 +A sysop can clear the in-memory //Failed Login List// (temporary IP address ban list) by "touching" the file ''[[dir:ctrl]]/clear''.
  
 ===== See Also ===== ===== See Also =====
   * [[:config:|Configuration]]   * [[:config:|Configuration]]
  
-{{tag>}}+ 
 +{{tag>configuration semaphore semfile messaging event}}