AFD has many small programs that can be used to view, control or configure it via command line. These files are located in the directory $AFD_WORK_DIR/sbin. Here follows a description of some of the tools:
With this program you can send most commands that you can also issue with the afd_ctrl and dir_ctrl dialog on a per host or directory basis. When you call afdcmd without any parameters it will show all commands it knows:
SYNTAX : afdcmd[ -w working directory][ -p <role>][ -u[ <user>]] options hostname|directory|position
FSA options:
-q start queue
-Q stop queue
-t start transfer
-T stop transfer
-e enable host
-E disable host
-s switch host
-r retry
-d enable/disable debug
-c enable/disable trace
-C enable/disable full trace
-X toggle enable/disable host
FRA options:
-b enable directory
-B disable directory
-R rescan directory
-W toggle enable/disable directory
General options:
-f start FD
-F stop FD
-a start AMG
-A stop AMG
-Y start/stop AMG
-Z start/stop FD
-k force file dir check
-i reread local interface file
-o show exec statistics
-p force archive check
-v just print Version
In conjunction with cron you can enable/disable certain hosts and control when they should receive their data. You may specify more than one hostname or position.
The program afdcfg allows you to enable/disable archiving and/or retrieving of files from remote hosts. The disabling of archiving can be usfull when you notice that your disk space gets to low or you want to reduce the load on the node. The other option to enable/ disable retrieving of files is good when you have two nodes with identical configured AFD's and one node is configured as hot standby. This will make sure that only the AFD on the active node will retrieve data. Otherwise both AFD's will retrieve the data and that can be quit annoying. The syntax of afdcfg is as follows:
SYNTAX : afdcfg [-w working directory] options
-a enable archive
-A disable archive
-c enable create target dir
-C disable create target dir
-d enable dir warn time
-D disable dir warn time
-r enable retrieving of files
-R disable retrieving of files
-s status of the above flags
To view the content of the FSA (Filetransfer Status Area) there is a program called fsa_view. An example output might look as follows:
afd@r2d2:~$ fsa_view fiau_
Number of hosts: 34 FSA ID: 1 Struct Version: 2 Pagesize: 4096
=============================> fiau_ <=============================
Host alias CRC : e831dc61
Real hostname 1 : 127.0.0.1
Real hostname 2 :
Hostname (display) : >fiau_<
Host toggle : HOST_ONE
Auto toggle : OFF
Original toggle : NONE
Toggle position : 5
Protocol( 40000001): FTP active fast_move fast_cd
Direction : SEND
Socket send buffer : Not set
Socket rcv buffer : Not set
Keep connected : Not set
Proxy name : >$Udwd@ifu;$Pgtswetter<
Debug mode : OFF
Dupcheck timeout : Disabled
Host status ( 0) : NORMAL_STATUS
Transfer timeout : 120
File size offset : -2
Successful retries : 0
MaxSuccessful ret. : 10
Special flag ( 64) : HOST_IN_DIR_CONFIG
Error counter : 0
Total errors : 7
Max. errors : 10
Error history : 000 -> Transfer success
000 -> Transfer success
000 -> Transfer success
000 -> Transfer success
000 -> Transfer success
Retry interval : 600
Transfer block size : 4096
TTL : 0
Time of last retry : Sat Apr 8 23:36:41 2006
Last connection : Sat Apr 8 23:36:41 2006
First error time : Not set.
Total file counter : 0
Total file size : 0
File counter done : 104
Bytes send : 3100838
Connections : 26
MC NACK counter : 0
Jobs queued : 0
Active transfers : 0
Allowed transfers : 2
Rate limit : 0
Rate limit per proc : 0
MC Rate limit : 0
MC Rate limit/proc : 0
| Job 0 | Job 1 | Job 2 | Job 3 | Job 4
--------------------+-----------+-----------+-----------+-----------+-----------
PID | -1 | -1 | -1 | -1 | -1
Connect status |DISCONNECT |DISCONNECT |DISCONNECT |DISCONNECT |DISCONNECT
Number of files | 0 | 0 | 0 | 0 | 0
No. of files done | 0 | 0 | 0 | 0 | 0
File size | 0 | 0 | 0 | 0 | 0
File size done | 0 | 0 | 0 | 0 | 0
Bytes send | 3100838 | 0 | 0 | 0 | 0
File name in use | | | | |
File size in use | 0 | 0 | 0 | 0 | 0
Filesize in use done| 0 | 0 | 0 | 0 | 0
Unique name | | | | |
Job ID | 0 | 0 | 0 | 0 | 0
Under 'File name in use' will be shown the current file being transmitted. To view the full name use the '-l' option to show the long view:
-------- Job 0 -----+------------------------------------------------------ PID : -1 Connect status : DISCONNECT Number of files : 0 No. of files done : 0 File size : 0 File size done : 0 Bytes send : 3100838 File name in use : File size in use : 0 File size in use done: 0 Unique name : Job ID : 0 -------- Job 1 -----+------------------------------------------------------ PID : -1 Connect status : DISCONNECT Number of files : 0 No. of files done : 0 File size : 0 File size done : 0 Bytes send : 0 File name in use : File size in use : 0 File size in use done: 0 Unique name : Job ID : 0
To view the content of the FRA (Fileretrieve Status Area), the directories monitored by AFD, there is a program called fra_view. The output looks as follows:
afd@r2d2:~$ fra_view 3
Number of directories: 42 FRA ID: 32 Struct Version: 4
============================> testmaus (4) <============================
Directory alias : testmaus
Directory ID : 99ca01ad
URL : ftp://funk:bla@testmaus
Host alias : testmaus
Wait for :
FSA position : 25
Priority : 9
Number of process : 0
Max number of process: 10
Bytes received : 0
Files received : 0
Files in directory : 0
Bytes in directory : 0
Files in queue(s) : 0
Bytes in queue(s) : 0
Accumulate size : 0
Accumulate : 0
gt_lt_sign : 0
Max errors : 10
Error counter : 0
Warn time : 0
Keep connected : 0
Ignore size : 0
Ignore file time : 0
Max files : 100
Max size : 104857600
Directory status( 12): NORMAL_STATUS
Directory flag( 8) : LINK_NO_EXEC
In DIR_CONFIG flag : DIR_ALIAS
Dupcheck timeout : Disabled
Force reread : NO
Queued : NO
Remove files : NO
Stupid mode : NO
Protocol ( 0) : FTP
Delete input files : NO
Report unknown files : YES
Important directory : NO
End character : NONE
Time option : YES
Next check time : Sun Jun 19 11:32:00 2005
Minute (uchar[8]) : 01000000 00001000 00100001 10000100 00010000 01000010 00001000 00100001
Continues (uchar[8]) : 01000000 00001000 00100001 10000100 00010000 01000010 00001000 00100001
Hour (uint) : 00000000 11111111 11111111 11111111
Day of month (uint) : 01111111 11111111 11111111 11111111
Month (short) : 00001111 11111111
Day of week (uchar) : 01111111
Minute (uchar[8]) : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Continues (uchar[8]) : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Hour (uint) : 00000000 00000000 00000000 00000000
Day of month (uint) : 00000000 00000000 00000000 00000000
Month (short) : 00000000 00000000
Day of week (uchar) : 00000000
Last retrieval : Sun Jun 19 10:39:10 2005
The program afd_status prints the current status of the AFD that is diaplayed at the bottom row of the afd_ctrl dialog.
AMG : 1 AMG jobs : 1 FD : 1 System log : 1 Event log : 1 Transfer log : 1 Trans debug log : 1 Archive watch : 1 afd_stat : 1 afdd : 1 input_log : 1 output_log : 1 delete_log : 1 production_log : 1 Receivelog indicator : 155 < I I W I I > Receive log history : ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? I E ? ? ? ? ? I I ? I I I I W W W W I Syslog indicator : 787 < I I I I I > System log history : ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? W W C I W C C W I W W W I I W W I W W Translog indicator : 2317 < I I I I I > Transfer log history : ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? I I I I I I I I I I I I I I E E I E I Number of transfers : 0 Number of retrieves : 0 Jobs in queue : 0 AMG fork() counter : 6 FD fork() counter : 1213 Burst2 counter : 4 Max. FD queue length : 17 Directories scanned : 2418 AFD start time : Thu Jan 19 20:29:37 2006
The process status of each can have the following numbers:
| -3 | The process has stopped normally. |
| 0 | Process is not running. |
| 1 | Process is up and running. |
| 19 | Process is currently shutting down. |
The program fsa_edit can be used to edit the FSA (Filetransfer Status Area). When you use this program it will always show the current value that you might wish to manipulate as shown below:
FSA Editor (fiau)
+-----+------------------+----------------+
| Key | Description | current value |
+-----+------------------+----------------+
| 1 |total_file_counter| 0 |
| 2 |total_file_size | 0 |
| 3 |error counter | 1 |
| 4 |No. of connections| 26 |
| 5 |host status | 0 |
| 6 |Max. errors | 10 |
| 7 |Block size | 1024 |
| 8 |Allowed transfers | 2 |
| 9 |Transfer timeout | 120 |
| a |Real hostname | 127.0.0.1 |
| b |Host display name | fiau |
| c |Error offline stat| YES |
| d |Active transfers | 0 |
| e |File name | |
| f |Jobs queued | 0 |
| g |Transferrate limit| 0 |
+-----+------------------+----------------+
If you wish to change for example the 'error counter' just press '3' and you will be asked to enter a value:
FSA Editor (fiau)
+-----+------------------+----------------+
| Key | Description | current value |
+-----+------------------+----------------+
| 1 |total_file_counter| 0 |
| 2 |total_file_size | 0 |
| 3 |error counter | 1 |
| 4 |No. of connections| 26 |
| 5 |host status | 0 |
| 6 |Max. errors | 10 |
| 7 |Block size | 1024 |
| 8 |Allowed transfers | 2 |
| 9 |Transfer timeout | 120 |
| a |Real hostname | 127.0.0.1 |
| b |Host display name | fiau |
| c |Error offline stat| YES |
| d |Active transfers | 0 |
| e |File name | |
| f |Jobs queued | 0 |
| g |Transferrate limit| 0 |
+-----+------------------+----------------+
Enter value [3] : _
Now enter the new value and send the new value to the FSA with the return key. If you wish to terminate the program just press the q key.
Please use this program with caution! Only use it when you know what you are doing.
When there is a change in the DIR_CONFIG and you do not want to use the afd_ctrl dialog to activate this DIR_CONFIG just use udc.
When there is a change in the HOST_CONFIG and you do not want to use the afd_ctrl dialog to activate this HOST_CONFIG just use uhc.
Both udc and uhc return 0 when the update was performed succesfully. On error either 3 or -1 is returned. If it returns 2 the update was done but there are warnings, meaning that you have to check the SYSTEM_LOG for possible errors in DIR_CONFIG or HOST_CONFIG.
The program get_dc_data shows what AFD has stored internally for the given host alias. The output looks as follows when a host alias is given as the first argument:
Directory : /home/afd/data/mfa
Dir-alias : MRZ
DIR-options : time */5 * * * *
Filter : G1*
G2*
G3*
G4*
Recipient : ftp://user:passwd@host//data/mfa
Real hostname : 127.0.0.1
AMG-options : extract MRZ
FD-options : archive 1
Priority : 6
Job-ID : 1c7eafb9
If no argument is given, the whole DIR_CONFIG as stored within AFD will be printed to stdout. So with this command you can reconstruct the DIR_CONFIG if you lost it or it is damaged and AFD is still active.
If called will cause dir_check to print out some exec statistics about CPU usage in SYSTEM_LOG. This is very usfull to find the jobs that cause most of the load. Below is an example output:
10 14:40:06 <D> CPU clock times for exec option: 10 14:40:06 <D> Job ID Forks User System Total 10 14:40:06 <D> 4b5313cf 3 78 14 92
This statistic will always be printed when dir_check terminates.
To remove a job from the AFD system there is the program rm_job <full job name>. To get the full job name just look into the files directory. To delete for example all jobs with the job ID 999 the following command will do this for you: rm_job `find $AFD_WORK_DIR/files -name "*_999" -print` Currently rm_job can only delete outgoing jobs, not those that are fetching files from a remote host.
If you do not want to store passwords in the DIR_CONFIG you can set them with this program. The syntax is as follows:
Usage: set_pw [-w <AFD work dir>] [--version] [-s] -i <job id>|-c <user@hostname>
With this program you can send many commands that you can also issue with the mon_ctrl dialog on a per AFD basis. When you call mafdcmd without any parameters it will show all commands it knows:
SYNTAX : ./mafdcmd [-w working directory] options AFD|position
-e enable AFD
-E disable AFD
-r retry
-s switch AFD
-X toggle enable/disable AFD
-u[ ] fake user
-v just print Version
You may specify more than one AFD or position.
aftp is a tool small tool that sends or retrieve file(s) via FTP without any user interaction, so it can be used from any shell scripts or programs such as xsend_file. The syntax of aftp is as follows:
SYNTAX: [t|r]aftp [options] [file 1 ... file n]
When calling it with raftp files will be retrieved from the
given host, otherwise (when using aftp) files will be send to that host.
OPTIONS DESCRIPTION
--version - Show current version
-a <file size offset> - Offset of file name when doing a LIST
command on the remote side. If you
specify -2 it will try to determine
the size with the SIZE command.
-b <block size> - FTP block size in bytes. Default 4096
Bytes.
-c <config file> - Configuration file holding user name,
password und target directory in URL
format.
-C - If target directory does not exist create
it.
-d <remote directory> - Directory where file(s) are to be stored.
-f <filename> - File containing a list of filenames
that are to be send.
-h <host name | IP number> - Hostname or IP number to which to
send the file(s).
-k - Keep FTP control connection with STAT
calls alive/fresh.
-l <DOT | DOT_VMS | OFF | xyz.> - How to lock the file on the remote site.
-m <A | I | D> - FTP transfer mode, ASCII, binary or DOS.
Default is binary.
-p <port number> - Remote port number of FTP-server.
-P <proxy procedure> - Use the given proxy procedure to
login. See documentation for more
details on syntax.
-u <user> <password> - Remote user name and password. If not
supplied, it will login as anonymous.
-r - Remove transmitted file.
-S <buffer size> - Socket send buffer size
(in bytes).
-t <timout> - FTP timeout in seconds. Default 120s.
-v - Verbose. Shows all FTP commands and
the reply from the remote server.
-x - Use passive mode instead of active
mode when doing the data connection.
-X - Use extended mode active or passive
(-x) mode.
-z - Use SSL/TLS for control connection.
-Z - Use SSL/TLS for control and data
connection.
-? - Display this help and exit.
The following values are returned on exit:
0 - File transmitted successfully.
1 - Failed to connect.
9 - SSL/TLS authentification error.
2 - User name wrong.
3 - Wrong password.
4 - Failed to set ascii/binary mode.
5 - Failed to send NLST command.
10 - Failed to open remote file.
11 - Error when writting into remote file.
12 - Failed to close remote file.
13 - Failed to rename remote file.
14 - Remote directory could not be set.
20 - Operation received timeout.
28 - Connection reset by peer.
29 - Connection refused.
30 - Could not open source file.
31 - Failed to read source file.
17 - System error stat().
34 - System error malloc().
40 - Failed to read file name file.
60 - Syntax wrong.
asmtp is a tool small tool that sends file(s) via SMTP without any user interaction, so it can be used from any shell scripts or programs such as xsend_file. The syntax of asmtp is as follows:
SYNTAX: asmtp [options] file(s)
OPTIONS DESCRIPTION
--version - Show current version
-a <user@host> - The address where the mail is sent to.
-b <block size> - Transfer block size in bytes. Default 4096
Bytes.
-c <config file> - Configuration file holding user name,
domain and SMTP server in URL format.
-e - Encode files in BASE64.
-f <filename> - File containing a list of filenames
that are to be send.
-h <hostname | IP number> - Recipient hostname of this mail.
-m <mailserver-address> - Mailserver that will send this mail.
Default is localhost.
-n - File name is subject.
-o <mail address> - Where the receiver should send is reply.
-p <port number> - Remote port number of SMTP-server.
Default 25.
-r - Remove transmitted file.
-s <subject> - Subject of this mail.
-t <timout> - SMTP timeout in seconds. Default 120s.
-u <user> - The user who should get the mail.
-v - Verbose. Shows all SMTP commands and
the reply from the SMTP server.
-y - File name is user.
-? - Display this help and exit.
The following values are returned on exit:
0 - File transmitted successfully.
1 - Failed to connect.
2 - User name wrong.
4 - Failed to set ascii/binary mode.
5 - Failed to send NLST command.
10 - Failed to open remote file.
11 - Error when writting into remote file.
12 - Failed to close remote file.
13 - Failed to rename remote file.
14 - Remote directory could not be set.
20 - Operation received timeout.
28 - Connection reset by peer.
29 - Connection refused.
30 - Could not open source file.
31 - Failed to read source file.
17 - System error stat().
34 - System error malloc().
40 - Failed to read file name file.
60 - Syntax wrong.
|
Copyright © 2001 - 2007 by H.Kiehl Holger.Kiehl@dwd.de Last updated: 12.11.2007 |
Index |
Home |