You would like to run different commands or task based upon a single shell script name. For example script name is backup Instead of writing 3 different script write one script and softlink using ln command:
=> backup - original script
=> backup.nas - Script to backup data to NAS device
=> backup.ftp - Script to backup data to FTP Server
=> backup.scp - Script to backup data to Remote SSH server
Use ln command to make link between backup and other files
$ ln -s backup backup.nas
$ ln -s backup backup.ftp
$ ln -s backup backup.scp
Now use basename command strip directory and suffix from script name. $0 variable always print scriptname.
#!/bin/bash
echo My name is $(basename $0)
Output:
My name is backup
Let us store output to variable
#!/bin/bash
ME=$(basename $0)
Now simply use the case statement to get script name. The case statement allows you to match several values against $ME variable. Here is final script:
#!/bin/bash
ME=$(basename $0)
case $ME in
backup.nas)
echo "Write code to mount NAS using smbmount, use cp to copy data to NAS"
;;
backup.ftp)
echo "Write code to copy data using FTP"
;;
backup.scp)
echo "Write code to copy data using OpenSSH scp command"
;;
*)
echo "Syntax error - show some help"
echo "Use $ME.nas or $ME.ftp or $ME.ftp"
;;
esac
To backup data to NAS just type
backup.nas
To backup data to FTP server just type
backup.ftp
Benefits
- Ease of use
- Saves time
- Your work looks quite professional
See also:
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













{ 2 comments… read them below or add one }
Hi
I am taking tar.gz backup on RH9 and copying the file to windows ftp server shceduled shell script. I am seeing the file size difference at both location. Windows server is with ntfs partition. What could be the reason , that i am seeing 4 to 5 mb increased file size on windows server that RH 9 linux server?
Regards /mahesh
Did you set binary mode before transfer file on FTP server?