{"id":3362,"date":"2014-10-25T00:35:13","date_gmt":"2014-10-25T00:35:13","guid":{"rendered":"http:\/\/www.fingerpost.co.uk\/wp\/programme-documentation\/ipspool\/"},"modified":"2014-10-25T00:35:13","modified_gmt":"2014-10-25T00:35:13","slug":"ipspool","status":"publish","type":"page","link":"https:\/\/www.fingerpost.co.uk\/wp\/programme-documentation\/ipspool\/","title":{"rendered":"ipspool  (Sat Oct 25 2014 01:31:01)"},"content":{"rendered":"<pre>\nipspool\n\nIPSPOOL is used to bring files into FIP from another system. It runs against an\ninput queue and any file found is sent to the output queue possibly with FIP\nheader information added possibly running a program\/script against it.\n\nMac resource forks may be zapped at the same time. For files arriving across\nthe network, a file creep time may be used to wait for the file to complete\nbefore it is processed.\n\nThe file contents are normally left unaltered but a small change - removing the\nCR of a CR NL combination may be used for incoming PC files.\n\nA filename mask may be specified where other programs use the same queue for\ntemporary files. Only files matching the mask are processed.\n\nThe incoming file name is used for the output name except that certain\ncharacters are removed and replaced by '_'. These include space, tab, control\nchrs (deleted), $, *, \/, |, , &lt; and &gt; and single and double quotes.\nThis can be stopped used the -n switch and\/or quoted with to -N (quotename)\nswitch.\n\nNote that in order to pass parameters to a script specified in -p, put double\nquotes around. For example :\n\tipspool -i eyeye -o delete -p &quot;scripto param1 SN&quot;\nwill run script called 'scripto' (which MUST be in \/fip\/local if no path is\nspecified) and pass it parameters :\n\tParameter 1 : the fixed string 'param1'\n\tParameter 2 : whatever is in the Fip Hdr field SN\n\tParameter 3 : The full path and filename of the input file\n\nErrors from the script will be logged - 256 or higher means that the script\ncannot be found or does not have execute permissions.\n\nNote that all files starting with a dot are ignored and, on Unix, any files\ncalled 'core' are assumed to be core dumps and are ignored !\n\nIf the '-A' switch or 'allowsubques:' parameter is used, if a queue is dropped\ninto the input queue, then the contents of that queue are treated in the normal\nmanner but any sub-subqueues are flagged as error. If there is a done queue,\nthe subqueue is moved into that and the a subfolder in the output folder is\ncreated too unless the folder is '2go', 'xchg', '2edsys' or '2brouted' (or the\nno-output-subqueues: parameter is specified).\n- Normally the sub folder is removed when empty, so use input switch -a or\nparameter 'preserve-subqueues:' to leave alone.\n- Normally the sub folder is created in the output folder (as mentioned above),\nso use input switch -Q or parameter 'no-output-subqueues:'.\n\nUsing subqueues and any MAC switch means the program will ignore queues like\n'.rsrc', 'Trash', Network Trash Folder' and 'DeskTop'.\n\nWhen accessing\/writing to queues that are physically on another system - NFS\ndrives for example - it is a good idea to check that drive is actually mounted\nbeforehand.\nTwo switches, -I and -O (and their identical parameter file keywords,\nchkexists-input and chkexists-output) can be used to check whether a specified\nfile or queue exists before the input queue is scavenged (or output written).\nAs filenames starting with a dot are ignored, one way to implement this is to\ntouch a file in this input queue. eg :\n\tcd \/mountedOnRemore\/spool\/input\n\ttouch .DontZapMePls\nWhile in the SYSTEM file we could have something like :\nremo\tlocal\tipspool -i \/mountedOnRemore\/spool\/input -I .DontZapMePls -o 2go -h\n&quot;#DU:Toinfinity#SN:&quot;\n\n\nInput switches are :\n\tMandatory parameters :\n\t-i : input q (normally in ~\/spool)\t\t\tno default\n\t\tif the path starts with a '\/', it is considered a hard path\n\t-o : output q (normally in ~\/spool) or 'delete' to delete it.  no default\n\t\tif the path starts with a '\/', it is considered a hard path\n\nAdvised parameters :\nEither\t-Z : name of the parameter file to use\t\tdefault: none\n\nOr\t-h : hdr string to be added BEFORE the filename in the output q\n\t\tThis parameter is advised but not mandatory.\tno default\n\t\tNote for NT this has no effect on the FipHdr,\n\t\tso use the 'extra-FipHdr-fields' parameter to create a FipHdr\n\t\twith meaningful fields that can be used for other Fip programs.\n\t\tFor Unix, please do NOT add any '\/' as it will create subqueues.\n\t-H : hdr string to be added AFTER the filename in the output q\n\t\tThis parameter is advised but not mandatory.\tno default\n\t\tNote for NT this has no effect on the FipHdr,\n\t\tso use the 'extra-FipHdr-fields' parameter to create a FipHdr\n\t\twith meaningful fields that can be used for other Fip programs.\n\t\tFor Unix, please do NOT add any '\/' as it will create subqueues.\n\nOptional parameters :\n\t-2 : (linux only) use Inotify to trigger a new file\tdefault: do not\n\t\tInotify will ONLY work on a local filesystem - and NOT NFS.\n\t-8 : input is NOT speedy (valid on a speedy system only)\n\t\tie the input folder is NOT piped but the rest of the system is.\n\t-9 : do NOT run speedy (valid on a speedy system only)\n\t-A : allow files to be placed in sub queues in the main input queue.  default:\nno\n\t-a : if using subqueues, do NOT zap  empty subfolders\tdefault: zap em\n\t-b : default round robin maximum\tdefault is none\n\t\tsee also parameter 'round-robin:'\n\t-B : balance queue for save-data - same as save-data-balance-folder\tdefault:\nnone\n\t-c : copy the file NOT link. This is for files residing on\n\t\ta different volume to \/fip\/spool\t\tdefault: link\n\t-C : supercede:\tOverwrite any existing files\t\tdefault: NO\n\t-d : done queue for a copy of the raw input file\tdefault: none\n\t\tif the path starts with a '\/', it is considered a hard path\n\t-e : error queue if script returns an error\t\tdefault: same as output\n\t\tif the path starts with a '\/', it is considered a hard path\n\t-E : ignore the file if the script returns an error\tdefault: move file to '-o'\n\t-f : file wait (ie wait x secs for file to finish before processing)\n\t\t\t\t\t\t\t\tdefault: 5 secs.\n\t-h : FipHdr before filename (see above)\n\t-H : FipHdr after filename (see above)\n\t-i : Input folder name (see above)\n\t-I : Check File\/Queue name for input\t\t\tdefault: none\n\t\tsee above\n\t\tIf the path starts with a '\/', it is considered a hard path\n\t\totherwise it is considered relative to the input queue.\n\t-j : input folder is FipSeq - so can contain dates etc.\tdefault: no - fixed\n\t\teg ipspool -j -i \/data\/input\/BW\/$e$y%i$d -Z BW.FIP\n\t-k : filename mask. Send only files containing this string.\n\t\t\t\t\tdefault: send all files\n\t-K : filename unmask. Do NOT Send files containing this string.\n\t\t\t\t\tdefault: send all files\n\t-l : do NOT log each file through\t\t\tdefault: log.\n\t-m : for Mac files : zap the ResFork file pls\n\t\tRemoves the resource fork\t\t\tdefault: no\n\t\tSee also -R for the resfork Path\/name\n\t-M : for Mac files : move the ResFork file to the done que. def: no\n\t\tNote that you must ONLY move resource forks within AppleShare\n\t\tvolumes as they contain unique ids which are guaranteed to\n\t\tscrew up if moved between vols!\n\t\tSee also -R for the resfork Path\/name\n\t-n : do NOT look for Unix meta characters in the filename.  Normally\n\t\t$, * &lt;&gt; |\/ etc are changed to '_'.\tdefault: change to '_'.\n\t-N : Put single quotes around the filename\tdefault: no quotes\n\t\twhen running a script. This enables filenames with spaces and other\nmetacharacters to be passed.\n\t-o : Output folder name (see above)\n\t-O : Check File\/Queue name for output\t\tdefault: none\n\t\tsee above\n\t\tIf the path starts with a '\/', it is considered a hard path\n\t\totherwise it is considered relative to the output queue.\n\t-p : program or script to execute BEFORE sending\tdefault: none\n\t-P : parameters for the script specified by '-p'\tdefault: none\n\t-q : quiet mode - do not message if we find directories or other\n\t\tnon-files are found in the input queue - just ignore them.\n\t\t\t\t\tdefault: log message if directory found\n\t-r : replace CR or CR LF with just LF\n\t\t\t\t\tdefault: leave file contents alone.\n\t-R : for Mac Files Res Fork path\/prefix\t\t\tdefault: .rsrc\/\n\t\tFor Mac NFS where the resourcefork is a second file in the\n\t\tqueue with a '%' in front : use\t-R%\n\t-s : Minimum size for file\t\t\tdefault: no\n\t\tFiles smaller than this are deleted\n\t\t(or, if the parameter min-size-action is set, moved to the done que or woops\nqueue)\n\t-S : Maximum size for file\t\t\tdefault: no\n\t\tFiles larger than this are deleted\n\t\t(or, if the parameter max-size-action is set, moved to the done que or woops\nqueue)\n\t-t : sleep between scans of the directory \t\tdefault: 5 secs\n\t-T : maximum time allowable for a script before it is killed. def: no limit\n\t\tThis is to catch scripts\/programs which are looping or are\n\t\tflow controlled or for someother reason they have hung.\n\t-W : add a FipHdr and add normal FipHdr fields such as the\n\t\tdate and time (HH, HM etc) plus internal fields\n\t\tsuch as EN, EP and EQ \t\t\tdefault: no\n\t-X : If both Mask and Unmask are set and a file meets both criteria,\n\t\tSend it.\t\tdefault: do NOT send it.\n\t-z : log file for the executing program or script\n\t\tif you have a program running against each file, this can\n\t\tbe used to log the result.\t\t\tdefault: none\n\n\t-v : show version no and exit\n\nUsing the -Z switch you may (optionally) specify a parameter file in\ntables\/spooler can be used to provide much the same info as the other input\nswitches (plus a bit more !!). If both switches and parameter file are used,\nthe parameter file takes precedent.\nThe parameter files are held in tables\/spooler.\n\nParameters are the usual FIP style of :\n\t; comment line\n\t(keyword): (subparams) ....\nand include :\n\thdrbefore:\tsame as switch -h\n\thdrafter:\tsame as switch -H\n\tscript:\t\tsame as switch -p\n\tparam-script:   same as switch -P\n\tlogscript:\tsame as switch -z\n\ttimeout:\tsame as switch -T\n\tcopy:\t\tsame as switch -c\n\tnolog:\t\tsame as switch -l\n\tminsize:\tsame as switch -s\n\tmaxsize:\tsame as switch -S\n\twait:\t\tsame as switch -f\n\toutque:\t\tsame as switch -o\n\tdoneque:\tsame as switch -d\n\terrorque:\tsame as switch -e\n\tstrip:\t\tsame as switch -r\n\tzapmac:\t\tsame as switch -m\n\tmovemac:\tsame as switch -M\n\trespath:\tsave as switch -R\n\tquiet:\t\tsame as switch -q\n\tmask:\t\tsame as switch -k\n\tunmask:\t\tsame as switch -K\n\tmeta:\t\tsame as switch -n\n\tquotename:\tsame as switch -N\n\tallowsubques\tsame as switch -A\tallow-subqueues and allow-subfolders are all\nidentical\n\tpreservesubques\tsame as switch -a\tpreserve-subqueues and preserve-subfolders\nare all identical\n\tno-output-subqueues:\tsame as switch -Q\n\tadd-all-fiphdr-fields:\tsame as switch -W\n\tno-fiphdr:\tsame as switch -X\n\nPlus these extra ones\n\twait-for-data: (FipSeq)\tDo not process the file until this string\n\t\tappears in the data. In this case the -f input switch is used as a\n\t\tMAXIMUM time.\n\textra-fiphdr-fields:\tFipSeq to add to the FipHdr.\n\t\teg extra-fiphdr-fields:#SU:outgoing#SC:notes#SN:EN#PR:EQ\n\textra-fiphdr-script:\tprogram which will create more FipHdr fields\n\t\tE3 hold the name of a TMP file to create that will be read for the list.\n\t\tE4 hold the name of a TMP file that holds the contents of the incoming file\n\t\teg extra-fiphdr-script:\/jpeg\/rdjpgcom -fiphdr E4 &gt; E3\n\tfiphdr-input-filename: (2 letter FipHdr field)\n\t\tAdd the complete Path and filename of the INPUT file as this FipHdr field\n\t\teg if the input folder is \/fip\/spool\/2edsys and the filename is\n'#SN:tester#DQ:2edsys'\n\t\tNote '#' are mapped to x9D as it is normally an end of FipHdr field marker.\n\t\tfiphdr-input-filename:PN\n\t\t\tgives   PN:\/fip\/spool\/2edsys\/^SN:tester^DQ:2edsys\n\t\t\twhere '^' is used to denote a '#'\n\tfiphdr-input-file-hash:(FipSeq chr)\n\t\tWhen changing the filename (which has 'hash' signs) for a script, use this\nchr\n\t\tdefault is x9D\n\twinnt-input-drive: (letter)\n\twinnt-output-drive: (letter)\n\twinnt-done-drive: (letter) drive letter of the queue if not the default\n\twait-for-remote-server: (secs) On flaky networks, the remote drives\n\t\tmay not be available all the time. Use this parameter to log it\n\t\thas gone missing, pause a few seconds and retry - but do not stop the\nprogram.\n\t\tDefault is none. If specified with (secs) missing, the default is 10\n\tnumber:\toctal\/dec\/hex\tNumber system to use for FipSeq data\n\tfirst:\t\tFipSeq data to insert at the top of the file\n\tlast:\t\tFipSeq data to insert at the bottom of the file\n\tprefile:\tfull path and filename of a file to be included\n\t\t\tafter any 'first' text and before file text.\n\tendfile:\tfull path and filename of a file to be included\n\tchkexists-input: same as -I switch\n\tchkexists-output: same as -O switch\n\tchkexists-input-script: Script (in FipSeq) to run before accessing folder\n\t\tIf this script does NOT return '0', it is assumed to be an error.\n\tallowsubques:\tsame as -A switch\n\tsupercede:\tOverwrite any existing file\tdefault is NO.\n\t\tThis also sets the default if you have several masks\/unmasks\n\tsave-data-path: (pathname for data)\n\t\tThis puts the data of the incoming file into this folder and creates a FipHdr\n\t\tfile that contains 2 FipHdrs containing the full path\/filename\n\t\t\tSX: and\tFTP_EXTERNAL_FILE:\n\t\t(ipbalan uses SX and ipftp uses FTP_EXTERNAL_FILE)\n\t\t\teq\tsave-data-path:\/fip\/data\/jpegs\/$e$y$i$d\/\n\t\tUse this for big files that you do not want to copy around the Fip Spool\narea.\n\tsave-data-filename: (FipSeq name)\n\t\tUse this to specify exactly what the the 'save-data-path' name should be\n\t\tdefault is (incoming filename).(time).(seqno)\n\t\teg \tsave-data-filename:HR-SU.raw\n\tsave-data-fiphdr: (yes\/no)\n\t\tSave any incoming FipHdr with the saved file\tdefault: yes\n\tsave-data-balance-group: (Balance group)\n\t\tBalance all save-data files to the following group. default: do not balance\n\tsave-data-balance-folder: (Balance folder)\n\t\tIf balancing, put the token in this folder under spool. default: 2balance\n\tcreate-checksum: (2 letter FipHdr field)\n\t\tCreate a 32 letter MD5 signature checksum in this FipHdr field\n\t\tMany web-type organisations which allow downloads will also give, separately,\nan MD5\n\t\tsignature. Use this to compare so you can verify the data has not been\ntampered with.\n\t\teg\tcreate-checksum:CS\n\t\t\tCreate a FipHdr field CS like 'CS:62663683bbbd3b84779d072f53178919'\n\tround-robin: (number)\n\t\tSend to output queues ending with a digit up to this number\n\t\tdefault: none\n\t\tie if round-robin:3 and outque:\/data\/today\n\t\tThe first file through will be put in a folder \/data\/today1, the 2nd in\n\/data\/today2 etc\n\tround-robin-fiphdr: (2 letter FipHdr field)\n\t\tAdd this Fiphdr to the output file so it can be used downstream\n\t\tdefault: none\n\ttracker-script: (fullpath to script name)\n\t\tdefault: none\n\tzap-empty-subfolders: opposite of -a\/preserve-subfolders.\n\t\tif using subqueues, zap  empty subfolders\tdefault: zap em\n\t\tThe parameter can be Yes\/No or a time in seconds for the folder to be empty\nbefore it is zapped\n\tignore-mime-header: (yes\/no)\n\t\tA file that has been grabbed by webwire or an email program may still have\nthe MIME header prefixing the data.\n\t\tUse this switch to ignore\/keep the mime-header. Normally, if using\n'file-type', you will want to ignore it.\n\t\tdefault - no\n\t\teg\nHTTP\/1.1 200 OK\nCache-Control: private\nContent-Type: application\/pdf\nDate: Wed, 20 Mar 2013 14:30:30 GMT\nConnection: close\n\n%PDF-1.4\n.. data continues\n\nMASKING\n-------\n\twildmask:*\tDefine a character to be used as a wild-card for masks.\n\t\t\tdefault: none\n\twildsingle:?\tDefine a character to be used as any single chr for masks.\n\t\t\tdefault: none\n\texact-match:yes\/no\tNO (default) - the mask is a string which can be ANYWHERE\nin the\n\t\t\t\t\teg mask:8\twill match any file with '8' in the name\n\t\t\t\tYES - the match is an exact match\n\t\t\t\t\teg mask:1954*\twill ONLY match files starting 1954....\n\tmask0,...,mask9\n\tunmask0,...,unmask9\n\tscript0,...,script9\n\tparam-script0,...,param-script9\n\tlogscript0,...,logscript9\n\toutque0,...,outque9\n\tsupercede0,...,supercede9\n\tfiphdr0,...fiphdr9\n\tno-fiphdr0,...no-fiphdr9\n\tfilename0,...filename9\n\tfile-type0,...file-type9\tcheck the first 4 bytes of the file for its 'magic'\nnumber\n\twait-for-data0...wait-for-data9\n\tcheck-mask-first: yes\/no\n\t\t\tChange logic ....\n\t\t\tEither check mask\/unmask before checking file-type (YES)\n\t\t\tor check file-type BEFORE checking masks (NO)\n\n\tUp to 10 mask and\/or unmasks can be specified.\n\tAny of the numbers can be used - they do not have to be sequential.\n\tIf ANY unmask if found, the file is ignored.\n\tIf more than one mask is found, the one with the lower number is used.\n\tIf the optional script is required, if there is a script of the SAME number,\nit is run else 'script' is run. Masks\/Unmasks can be in FipSeq.\n\tThe file which matches the mask\/unmask can also be moved to a different folder\nwith 'outqueX' where X is the index of the (un)mask.\n\tSupercede2 etc can be either YES or NO.\n\tThe base 'wait-for-data' is used as a default for any index which does NOT\nhave a wait-for-data.\n\tNote that 'fiphdr0' etc add additional fiphdr fields to files matching that\none mask. While 'extra-fiphdr-fields' is added to ALL fields irrespective of\nthe mask.\n\n\tNote that if 'no-fiphdr' is specified, all other options which use the fipHdr\nto store metadata are ignored including (for example)\n\t\tsave-data-path\n\t\textra-fiphdr-fields\n\t\textra-fiphdr-script\n\n\n\tExample of using masks\n\t\t; we have an input folder which can receive several different\n\t\t; types of data. Each needs a different Fip destination (and\n\t\t; other FipHdr info) so it can be treated differently\n\t\t; using '*' as the bits to ignore\n\t\twildmask:*\n\t\t; 1. stream off all xml files\n\t\tmask2:*xml*\n\t\t; 1.1 stuff into \/fip\/spool\/sgml\n\t\toutque2:sgml\n\t\t; 1.2 add the relevant fiphdr info (DY is the ipsgml param file)\n\t\tfiphdr2:DY:MYXML\n\t\t; 2 stream off the pdfs\n\t\tmask4:*pdf\n\t\t; 2.1 just copy to edsys to place in a nice folder somewhere\n\t\toutque4:2edsys\n\t\t; 2.2\n\t\tfiphdr2:DF:SEND.PDF\n\t\t; 3. catch all for all the other files\n\t\tmask9:*\n\t\t; 3.1 send them via iproute to check more\n\t\toutque9:2brouted\n\t\t; 3.2 route needs a SU (source) and ZI for archive\n\t\tfiphdr9:SU:TXT#ZI:\n\n\tcheck-primary-server: pseudo-host name that is specified in\ntables\/sys\/DEST_REDUN\n\t\tUse this when an ipspool on 2 systems is accessing the same remote folder -\nin a redundant way.\n\t\tthat is used whether the current host should be getting the files or not.\n\t\tie in the parameter file REMOTEGET is\n\t\t\tcheck-primary-server:remotewire\n\t\tand in the DEST_REDUN is\n\t\t\t; psuedohost\tprimary secondary\n\t\t\tremotewire\tfip1\tfip2\n\t\tand in the SYSTEM file for both fip1 AND fip2 there is a line\n\t\t\trem1\tlocal   ipspool -i \/nfs\/data\/input -o 2go -Z REMOTEGET\n\t\tThen if fip1 is up, the ipspool on fip1 will always get while on fip2 it will\njust check\/loop.\n\t\t\tif fip1 is down, the 'ipspool' on fip2 will start getting the files.\n\thostname: (hostname)\n\t\tHostname to use for this server for using with redundancy\n\tcheck_redun-every: (no of secs)\n\t\tIf running redundant systems with check-primary-server, this is the delay\nbetween checks for the secondary system.\n\t\tdefault is 60 secs.\n\ttiming-stats:yes\/no\n\t\tShow timings statistics\t\tdefault: no\n\twait-between-files: (tenths of a sec)\n\t\tsmall pause between each file.. in tenths of a sec\n\t\tdefault is 10 for 1 sec (max is 100 for 10 secs)\n\t\teq\twait-between-files:2\n\n\tfiphdr-original-time:(2 letter FipHdr field)\n\t\tAdd the UTC time when the file was created as this FipHdr field.\n\n\tcopy-file0...copy-file9\n\t\tThere can be up to 10 copies of the same file\n\t\tTake care to speicfy the FULL path AND filename in fipseq\n\t\tcopy-file:\/fip\/spool\/2balance1\/#SN:SN#SU:bal1#XX:$u.fip\n\t\tcopy-file2:\/fip\/spool\/2balance2\/#SN:SN#SU:bal2#XX:$u.fip\n\t\tcopy-file6:\/fip\/spool\/2balance6\/#SN:SN#SU:bal6#XX:$u.fip\n\nSAVING FILES FOR IPFTP\n----------------------\n\nUse this for big files that you do not want to copy around the Fip Spool area.\n\nUse save-data-path to squirrel a copy of the data file while the 'output' file\nis just a small FipHdr file.\n\nNormally you would also want\t'add-all-fiphdr-fields'\n2 extra FipHdrs fields are created containing the full path\/filename\n\tSX: and\tFTP_EXTERNAL_FILE:\n\t(ipbalan uses SX and ipftp uses FTP_EXTERNAL_FILE)\n\t\teq\tsave-data-path:\/fip\/data\/jpegs\/$e$y$i$d\/\n\nAny version of ipftp (from version 14k) will pick it up.\n\n** Note it is up to you when you purge the external or save folder - in the\nabove example \/fip\/data\/jpegs\/(todays date)\n\nIf you have one file in -&gt; one ftp out, then get ipftp to delete it by adding\nFTP_ZAP_EXTERNAL: to the fiphdr - again use ipspool for this\n\textra-fiphdr-fields:#FTP_ZAP_EXTERNAL:#\n\nOtherwise if you have masses of disk space, just add a line in the nightly\nmaintenance \/fip\/local\/zapfiplog (or zapfiplog.cmd) to wipe out the files after\na day or so.\nOn Unix\/Linux :\n\t# save 8 days of jpegs ..\n\tif [ -d \/fip\/data\/jpegs ]; then\n\t   \/fip\/bin\/ipdelque -q \/fip\/data\/jpegs -A 8 -i 0\n\tfi\n\nNOTES\n-----\n- For AIX 4.1 : If calling a script using the '-p' switch or the 'script:'\nparameter, you MUST make sure the first line of the script starts with a '#!'.\n\teg for a bourne shell :\t\t#! \/bin\/sh\n\n- Always make sure you exit from a script with an 'exit 0' if it has finished\ncorrectly.\n\n- Note that some internal FipHdr fields are available to the program\n\tThey are NOT added to the output file automatically.\n\tBut you can do automatically with the keyword 'add-all-fiphdr-fields'\n\t\twhich will also add all the HH\/HD\/HM fields for date and time\n\tSN - output filename\n\tEN - input filename\n\tEQ - lastpart of the input folder\/queue\n\tEP - full input folder\n\tsee also fiphdr-input-filename: above which is how to handle filenames with\n'#'\n\nWIN 2K and UNC drives\n---------------------\n\nIf using UNC drives, note that the Win2k 'security model' no longer allows the\ndefault service logon (LocalSystem) to access external drives. So you will need\nto start the 'Fip Comms Manager' service under a Logon which exists on the\nremote system AND has permissions to read AND WRITE to the folders you want to\nread and\/or write.\n\nYou will need to\neither\t- The easiest method is to have the same logon\/password for both systems\n\t\t- if running a Domain server, use a single logon for both\n\t\t- if not create\/use the same logon\/password on both\nor \t- The remote system needs to know about the local system's logon and have\npermissions to read\/write\n\nHow do you know it will work\n\t- Logon the Fip\/local server with the logon\n\t- Open RUN and type the full UNC path\n\t\t- try reading and\/or writing a file\n\t\t- if it does not work, there is no way Fip will either ! So fix it first\n\t- When that works..\n\t\t- Open CMD window and change to the drive  where Fip is.\n\t\t- type in the complete ipspool parameter line from the SYSTEM file\n\t\t\t(remember to have NO spaces between input switch and parameter ie -i2proc\nnot -i 2proc)\n\t\t\t- if that does not work, check your syntax and ogon again\n\t- When that works..\n\t\t- Add the logon to the ControlPanel-&gt;Admin Tasks-&gt;Services-&gt;Fip Comms Manager\n\t\t\t- stop and start\n\n- Note for Fip UNC drives, always use '\/' rather than '' as the latter is the\nescape chr (so you need '\\' for every '' !)\n\n- For NT note that the path name for a script is using forward slashes NOT\nbackwards\n The '-P' or param-script keyword however is not changed to forward slashes\n\n\nVersion Control\n;032t9\t21oct05 added create-checksum:\n\t;a-b 17jan06 added -b and round-robin and slightly better logging\n\t;c 23jan06 added -8\n\t;d 29mar06 -q also affects locked files\n\t\tand possible bugette with NOT cleaning out remnants of missing files.\n\t;e-h 05aug06 for -A subqueues : added -a for preserve-subfolders and -Q\nno-output-subfolders\n\t;i 18jan07 bugette - supercede0 was missing and added param-script0-9 and\nlogscript0-9\n\t;j-k 22mar07 bugette - do not use DEST_REDUN if not needed\n\t;l 04oct07 added filesize at the end of the log message\n\t;m-n 24oct07 added extra-fiphdr-script and save-data-filename:\n\t;o 31oct07 check for primary server before each file in addition to once every\nfolder scan\n\t;p2 08nov07 added copy-file0-9 and no-fiphdr0-9\n\t;r1-6 29nov07 added rename in doneque ;r1 added fiphdr-original-time: ;r2\nadded E4 ;r3 bugette with -p \/-P ;r4 for fipredunBalanced\n\t;s1 31jul07 added save-data-balance-group\/queue and -B ;3456 bugette WINNT\ncurdrv and speedy\n\t\t;7-8 bugette in wait-for-data ;9 redid -r ;10 added round-robin-fiphdr ;11\nadded file-type: 0-9\n\t\t;12 added tracker-script ;13 added secs to wait-for-remote-server ;14\nfile-type tuned ; 15 usleeps tuned\n\t\t;16 allow dbl qtes around any input switch que - input, balance, error etc\n\t\t;17 added chkexists-input-script\n\t\t;18-20 5oct11 bugette with subques (both linux and win2k) and added filter\n;20 added wildsingle\n\t\t;23-26 19oct11 added check-mask-first:yes\/no,subques - do NOT allow '..' ;26\nand '.'\n\t\t;27 stop spins on network drives which have disappeared\n\t\t;28-32 1oct12 -j added parse input queue (and bugette in exec)\n\t\t;33 10oct12 added min-size-action and max-size-action and wrong-size-wait\n\t\t;34-36 added linux Notify\t;37 added fiphdr-input-filename and\nfiphdr-input-file-hash\n\t\t;38 added ignore-mime-header\n\t;t1-9 11apr13 allow up to 20 subfolders (was 1 !) ;3-4 added winnt-done-drive\n;8 30apr14 file-trace ;9 outq parse better\n;031z1\t01feb01 added wait-for-data ;a bugette with masks when using -k\/-K\n\t;b 01may01 masks are now FipSeq\n\t;c 11may01 added outque as a parameter\n\t;d 14jun01 added outque1-9 according to mask\/umask\n\t;e 17aug01 small problem with mask\/unmask and wild at the END\n\t;f 13sep01 added supercede2-9\n\t;g 02jan02 added mask1\/unmask1\/supercede1 etc\n\t\tand found the bugette where SN sometimes disappeared!\n\t;h 03oct02 added fipseq functions - partial\/repeat\/style etc\n\t;i 16oct02 bugette in FipHdr bit\n\t;j 15nov02 added redundancy\/check-primary-server\n\t;k\/l 01jan03 MACOSX\n\t;m 23may03 added fiphdr0-9\n\t;n 06aug03 bug in outque\/outque1\n\t;o 10feb04 added filename0-9\n\t;p 15may04 added timing-stats\n\t;q 01jul04 bugette in incoming fipHdrs.\n\t;r-x 07oct04 speedy (w allow drive letter for script)\n\t;y 18jul05 added wait-for-remote-server\n\t;z1 11oct05 added save-data-path:\/fip\/data\/incoming\/$d\/\n\t\tdoneque is now FipSeq and not just hard paths\n;030\t30nov00 upto 9 masks\/unmasks and scripts\n;029f\t01sep99 added extra-fiphdr and add-all-fiphdr-fields\n\t;a 13sep99 NT mods for drives\n\t;b 15sep99 added -E\n\t;c 28oct99 added toomanyfiles check\n\t;d 14jan00 small WINNT hdr mod\n\t;e\/f 20jan00 supercede added\n\n(copyright) 2014 and previous years FingerPost Ltd.\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>ipspool IPSPOOL is used to bring files into FIP from another system. It runs against an input queue and any file found is sent to the output queue possibly with FIP header information added possibly running a program\/script against it. Mac resource forks may be zapped at the same time. For files arriving across the [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"parent":495,"menu_order":0,"comment_status":"closed","ping_status":"open","template":"page-templates\/full-width.php","meta":[],"_links":{"self":[{"href":"https:\/\/www.fingerpost.co.uk\/wp\/wp-json\/wp\/v2\/pages\/3362"}],"collection":[{"href":"https:\/\/www.fingerpost.co.uk\/wp\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.fingerpost.co.uk\/wp\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.fingerpost.co.uk\/wp\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fingerpost.co.uk\/wp\/wp-json\/wp\/v2\/comments?post=3362"}],"version-history":[{"count":0,"href":"https:\/\/www.fingerpost.co.uk\/wp\/wp-json\/wp\/v2\/pages\/3362\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/www.fingerpost.co.uk\/wp\/wp-json\/wp\/v2\/pages\/495"}],"wp:attachment":[{"href":"https:\/\/www.fingerpost.co.uk\/wp\/wp-json\/wp\/v2\/media?parent=3362"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}