Sponsored Content
Full Discussion: Stop Writing Scripts
The Lounge What is on Your Mind? Stop Writing Scripts Post 302867085 by Corona688 on Wednesday 23rd of October 2013 11:21:44 AM
Old 10-23-2013
Telling us to stop writing scripts is silly. There is "script hell" and then there is "architecture hell", when well-meaning environment designers deny you the ability to use something they think you don't need. Take away the shell and your users are forced to invent silly ways to hack it back in.

Control methods are always useful of course. What about existing, common workflow languages like make ? Much-abused, but at its core, uses very simple "destination:source" rules which I think can be used simply and effectively for lots of things.

Last edited by Corona688; 10-23-2013 at 12:28 PM..
This User Gave Thanks to Corona688 For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help on writing scripts!!??

Hello, I don't know anything about scripting, and I want help on writing a script, which can help me doing my research. Actually I have some ASCII format files formatted in a way looks like this 6 lines of text that is not important for me File_header_name_number_1 <--... (1 Reply)
Discussion started by: geoquest
1 Replies

2. Shell Programming and Scripting

writing schell scripts

I am very new to Unix. I need to write a script that will grep some files, etc. When I write the script, do I need to know what shell I am using? If so, how do I do that? (1 Reply)
Discussion started by: ssmiths001
1 Replies

3. Shell Programming and Scripting

Start and stop of an application thru shell scripts.

Hi, I just learnt the shell scripting and got working on that right now. I have one problem. Here i am having a java application that needs to be start and stop using two shell scripts, i.e., starting the java application using one shell script and stopping the application using another... (1 Reply)
Discussion started by: sadha
1 Replies

4. Shell Programming and Scripting

writing scripts

What would happen if I didn't use "./" before writing a script? (4 Replies)
Discussion started by: ebethea27703
4 Replies

5. Shell Programming and Scripting

Stopping Start/Stop scripts in reverse order

#Define the Start/Stop/Status Scripts to include SSS_SCRIPTS=( prog1 prog2 prog3 etc...... ) #Start the scripts StartScripts() { for SSS in ${SSS_SCRIPTS} do ./$SSS start done } #Stop the Scripts StopScripts() { for SSS in ${SSS_SCRIPTS} do ./$SSS stop #<---I... (1 Reply)
Discussion started by: madasafish
1 Replies

6. Shell Programming and Scripting

Services Start & stop scripts--help required

Dear All, Pls find my scripts for Agent services strat & stop. EAMSROOT=/opt/panaces export EAMSROOT cd $EAMSROOT nohup ./OracleAgent.sh start & nohup ./PFRAgent.sh start & nohup ./PFR.sh start & nohup ./SolarisOSAgent.sh start & exit 0 EAMSROOT=/opt/panaces export EAMSROOT cd... (0 Replies)
Discussion started by: starnaresh
0 Replies

7. AIX

HACMP version 5.4 startup and stop scripts

Hi My hacmp version is 5.4 and it is a active passive cluster. Where can I find the startup and stop scripts? Please assist. Thanks. (2 Replies)
Discussion started by: samsungsamsung
2 Replies

8. Red Hat

[HA] Red Hat 7, pacemaker and start/stop scripts

Hi there, I am wondering if I could add start/stop ksh scripts provided by 3rd party to cluster... I read that script must be ocf/lsb compliant, however, in AIX I can just set up two separate scripts for starting and stopping application. Can similar be done under RH Linux cluster? Cheers, c (1 Reply)
Discussion started by: cyjan
1 Replies

9. Shell Programming and Scripting

Linux startup and stop scripts using SSH

I have a question. Actually I want to make two scripts, one is startup.sh and other is stopscript.sh so for example, I have 5 servers. Each server has two instances :- abc111 - Masters -cra4 abc222 -middle tear -cra abc333 -middle tear -cra1 abc444 -middle tear ... (1 Reply)
Discussion started by: siddharthjain
1 Replies

10. UNIX for Advanced & Expert Users

Stop root from writing to directory

Is there a way to stop root from writing to a directory? I already tried chattr but that did not seem to work. chattr +i directory (12 Replies)
Discussion started by: cokedude
12 Replies
COURIERFILTER(8)					      Double Precision, Inc.						  COURIERFILTER(8)

NAME
courierfilter - Courier mail filters SYNOPSIS
courierfilter [[start] | [stop] | [restart]] filterctl [[start] | [stop]] [filter] DESCRIPTION
The filterctl commands install or uninstall global mail filters. Global mail filters are used to selectively block unwanted mail. More than one mail filter can be enabled at the same time. Two filters - dupfilter(8)[1] and courierperlfilter(8)[2] - are provided as examples for writing mail filters. courierfilter start runs all mail filters that have been installed by filterctl. courierfilter stop shuts down all running mail filters. After courierfilter start, any filterctl commands take effect immediately. After courierfilter stop any filterctl commands will take effect at the next courierfilter start. courierfilter restart signals the running courierfilter to reread its configuration files. This is normally done automatically, by filterctl. If any mail filter is installed, the mail filter must be running in order for any mail to be processed. Mail filters are assumed to be empowered to enforce system-wide mail policies, so if an installed mail filter is not running then mail will not be accepted by the system. Note that mail will not be rejected, if possible. Every attempt will be made to send a temporary error code to an external mail system, asking it to try again later. For this reason, you should modify your system boot script to run courierfilter start as soon as possible, and run courierfilter stop during the final portion of your system shutdown script. It is not necessary to run courierfilter if you do not install a mail filter with filterctl. MAIL FILTER IMPLEMENTATION
This section explains how mail filters are implemented, and how to write a new global mail filter. Available mail filter binaries are located in the directory /usr/lib/courier/filters. The filterctl script looks in this directory to see which mail filters are available to be installed. Installing a mail filter consists of simply creating a soft link from the directory /etc/courier/filters/active to its corresponding binary in /usr/lib/courier/filters. The courierfilter start command simply reads /etc/courier/filters/active and runs every program in this directory. The filterctl script sends a HUP signal to courierfilter after installing or uninstalling a filter. courierfilter will reread the contents of /etc/courier/filters/active then start or stop individual mail filters. After starting, an individual mail filter must create a filesystem domain socket in one of two directories: /var/lib/courier/filters or /var/lib/courier/allfilters. The name of the socket should be the same as a name of the filter, and the mail filter must make sure to remove any socket by the same name in the other directory. For various silly reasons, the recommended implementation is to create /var/lib/courier/filters/.NAME or /var/lib/courier/allfilters/.NAME (after making sure that it doesn't exist) then rename .NAME to NAME. After initializing the socket, the mail filter must then close its file descriptor #3. File descriptor 3 is inherited by every mail filter that's executed by the courierfilter start command. The mail filter's file descriptor 3 is connected to the write end of a pipe, which may be relevant to certain ways of implementing the closing of the file descriptor, for instance in Perl where you may be forced to pseudo-open the descriptor (in write mode) before closing it. The courierfilter start command will not exit until every started mail filter closes its file descriptor 3. This allows for all mail filters to orderly initialize themselves before courierfilter start command returns. All mail filters also inherit a pipe on standard input, and must terminate when the pipe is closed. Mail filters must simultaneously listen for new connections on the mail filter socket, and for their standard input to close. The mail filter receives a new connection on its socket for every message that needs to be filtered. After establishing a connection, the mail filter will immediately read the following information from the new socket: A pathname to a file containing the contents of the message. One or more pathnames to control files for this message. Each pathname is terminated by a single newline character. The last pathname is followed by a second newline character. The pathnames may either be relative pathnames to /usr or absolute pathnames, depending on the system configuration. The mail filter is free to judge the message's worthiness by reading its contents and/or control file(s) as soon as a second consecutive newline character is received. The final verdict is rendered by writing back a result code on the same socket. The result code follows the same format as regular SMTP replies (even though the message may not have been received via SMTP), and can be used to communicate acceptance, temporary failure, or a permanent failure. If it's a failure, then the text portion of the result code will be used, if possible. The result code may be a multiline response, just like a regular SMTP reply. The mail filter must immediately close the connection after writing the result code. After closing the socket the mail filter must then proceed to wait for another connection request on the original listening socket. The mail filter can be multithreaded or multitasked, and can accept multiple connections simultaneously. When its standard input is closed the mail filter should stop accepting new connections and wait for any existing connections to be closed, prior to exiting. Global mail filters must be EXTREMELY resilient to runtime failures. Since mail will not be processed if an installed mail filter is not running, if a mail filter crashes it will effectively shut down the mail server. Currently courierfilter does not attempt to restart mail filters which crash. MAIL FILTER INVOCATION
The system administrator defines what mail gets filtered by editing the contents of the enablefiltering configuration file in /etc/courier. This configuration file contains a list of mail sources that should be filtered, like esmtp or local. See courier(8)[3] for more information. A default /etc/courier/enablefiltering file is installed that specifies only the esmtp mail source as subject to filtering. A message is not subject to filtering if its source is not listed in /etc/courier/enablefiltering. Otherwise the following rules apply. Certain mail destinations have the ability to selectively whitelist arbitrary messages. For example, local mail recipients have the ability to selectively whitelist individual messages, provided that a local mail filter (independent of any global mail filter) is installed that implements the maildrop filtering API[4]. New messages are filtered by connecting to every socket in /var/lib/courier/filters and/or /var/lib/courier/allfilters, one at a time. All mail filters must accept the message, for it to be accepted by Courier. If a socket exists but a connection cannot be established then the message is not accepted, and a temporary failure indication is returned. That's why no mail will be accepted unless all installed mail filters are running. Mail recipients that did not whitelist the sender, via the maildrop API, will have their mail filtered against everything in /var/lib/courier/filters and /var/lib/courier/allfilters. Mail to recipients that whitelisted the sender, or mail to destinations that do not use a maildrop API-compatible filter, will be filtered only against the contents of /var/lib/courier/allfilters. This gives system administrators a choice whether to install selective, or mandatory mail filters, or a combination of both. BUGS
Many filesystem domain socket implementation are buggy. Handling of crashed mail filters could be improved. FILES
/usr/lib/courier/filters Available mail filters. /etc/courier/filters Miscellaneous configuration files. /etc/courier/filters/active Installed mail filters. /etc/courier/enablefiltering Which mail sources to filter. /var/lib/courier/allfilters Mandatory filters. /var/lib/courier/filters Optional filters. SEE ALSO
localmailfilter(7)[4], courier(8)[3], dupfilter(8)[1], courierperlfilter(8)[2]. AUTHOR
Sam Varshavchik Author NOTES
1. dupfilter(8) [set $man.base.url.for.relative.links]/dupfilter.html 2. courierperlfilter(8) [set $man.base.url.for.relative.links]/courierperlfilter.html 3. courier(8) [set $man.base.url.for.relative.links]/courier.html 4. maildrop filtering API [set $man.base.url.for.relative.links]/localmailfilter.html Courier Mail Server 04/04/2011 COURIERFILTER(8)
All times are GMT -4. The time now is 03:20 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy