You may use many macros under office packages. However, your ftp client also supports macros. You can use ~/.netrc - user configuration file. The .netrc file contains login and initialization information used by the auto-login process and stores macros information. It resides in the user's home directory.
Turn on FTP client auto login
You need to add username and password to file ~/.netrc. Open config file using a text editor such as vi:
$ vi ~/.netrc
Append or add following lines to it:
machine ftp.myserver.com login USERNAME password PASSWORD
Save file and exit to shell prompt. Make sure, only owner can read the file:
$ chmod 0600 ~/.netrc
To connect type command:
$ ftp ftp.myserver.com
FTP Macros
Now let us say every time you connected to ftp server you would like to switch to binary mode and turn off prompt as well as go to directory /pub/data/backup/rdbms/dump/. You can create a macro to automate all these three steps:
i) Open ~/.netrc ftp configuration file:
$ vi ~/.netrc
ii) Define a macro
You need to use the following syntax:
macdef macro-name1 command1 command2 macdef macro-name2 command1 command2
Please note that each macro definition ends with a null line (consecutive new line characters in a file or carriage returns from the terminal). There is a limit of 16 macros and 4096 total characters in all defined macros. Macros remain defined until a close command is executed.
Append following text to .netrc file:
macdef FOO bin prom cd /pub/data/backup/rdbms/dump/ ls
Save and close the file. Now connect to ftp server:
$ ftp ftp.myserver.com
Output:
Connected to ftp.myserver.com 220 ftp.myserver.com NcFTPd Server (licensed copy) ready. Remote system type is UNIX. Using binary mode to transfer files.
To execute a macro FOO type the command:
ftp> $ FOO
Output:
bin 200 Type okay. prom Interactive mode off. cd /pub/data/backup/rdbms/dump/ 250 "/pub/data/backup/rdbms/dump/" is new cwd. ftp> ls
Further readings:
=> ftp command man page
You should follow me on twitter here or grab rss feed to keep track of new changes.
Featured Articles:
- 30 Handy Bash Shell Aliases For Linux / Unix / Mac OS X
- Top 30 Nmap Command Examples For Sys/Network Admins
- 25 PHP Security Best Practices For Sys Admins
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- Linux: 20 Iptables Examples For New SysAdmins
- Top 20 OpenSSH Server Best Security Practices
- Top 20 Nginx WebServer Best Security Practices
- 20 Examples: Make Sure Unix / Linux Configuration Files Are Free From Syntax Errors
- 15 Greatest Open Source Terminal Applications Of 2012

- My 10 UNIX Command Line Mistakes
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- The Novice Guide To Buying A Linux Laptop













{ 6 comments… read them below or add one }
Thank you
Thanks very much for a much useful note
Wicket tips! I Delicious book marked you.
hey you explain how to automate copying of ftp files from one directory to another
Thank you very much this was what i needed all …:)
Thanks very much for this past. It helped alot for me…
Thank You,
Uma.