acl verizonfios src 1.2.3.4
My ISP will force an IP address change every week or two. I would like to replace them with a new IP
acl verizonfios src 4.5.6.7
How do I replace the line starting with "acl verizonfios" with new IP address using sed and ssh?
| Tutorial details | |
|---|---|
| Difficulty | Easy (rss) |
| Root privileges | Yes |
| Requirements | sed+ssh |
| Estimated completion time | N/A |
The sed syntax is as follows to match the line starting with "acl verizonfios" and replace the whole line:
sed -i 's/find/replace/' file
sed -i 's/^acl verizonfios.*/acl verizonfios src 4.5.6.7/' file
In this example, replace an IP address with 202.1.2.3:
sed -i 's/^acl verizonfios.*/acl verizonfios src 202.1.2.3/' /etc/squid/squid.conf
You can execute the sed command using ssh:
ssh root@your.server.at.cloud sed -i 's/^acl verizonfios.*/acl verizonfios src 202.1.2.3/' /etc/squid/squid.conf ssh root@your.server.at.cloud /usr/sbin/squid -k reconfigure
Sample shell script
#!/bin/bash # Author: nixCraft <www.cyberciti.biz> - GPL v2.x+ # ------------------------------------------------- ## cloud server name ## _rserver="your.server.at.cloud" _ruser="root" ## Get your public IP ## _myip="$(/bin/curl ifconfig.me)" _cmd1="/bin/sed -i 's/^acl verizonfios.*/acl verizonfios src ${_myip}/' /etc/squid/squid.conf" _cmd2="/usr/sbin/squid -k reconfigure" ## connect to the remote box ## update the proxy server ## reload the proxy server /bin/ssh ${_ruser}@${_rserver} "$_cmd1" /bin/ssh ${_ruser}@${_rserver} "$_cmd2"
- 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










{ 1 comment… read it below or add one }
All this time I was going to vi and doing :s/find/replace/g there. sed -i seems to be much easier.