2015-03-19 update
#!/bin/bash
rm -f ip hostname
Rootdir="/var/www/html/cacti/cli/"
i=0
Add_host(){
awk '{print $1}' $1 > ip
awk '{print $2}' $1 > hostname
while read line 
       do 
               arr_IP[$i]="$line" 
               i=`expr $i + 1` 
       done < ip

i=0
while read line
       do
               arr_HOSTNAME[$i]="$line"
               i=`expr $i + 1`
       done < hostname

for (( k=0;k<i;k++ ))
       do
               php $Rootdir/add_device.php --description="${arr_HOSTNAME[$k]}"  --ip="${arr_IP[$k]}"  --template=3 --version=2 --community="snmp@kuaidi"

               host_ids=`php $Rootdir/add_graphs.php --list-hosts | grep -w  ${arr_IP[$k]} | awk -F " " '{print $1}'`
               Ping_id=$(php /var/www/html/cacti/cli/add_graphs.php  --list-graph-templates |grep "PING" |awk '{print $1}')
               Tcp_id=$(php /var/www/html/cacti/cli/add_graphs.php  --list-graph-templates |grep "TCP Connection Status" |awk '{print $1}')
               #Processes_graph-template-id=$()
               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=cg --graph-template-id=4
               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=cg --graph-template-id=11
               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=cg --graph-template-id=13
               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=cg --graph-template-id=$Ping_id
               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=cg --graph-template-id=29
               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=cg --graph-template-id=$Tcp_id
#############add network device########
               Netdevice=$(php $Rootdir/add_graphs.php  --host-id=$host_ids  --graph-type=ds --graph-template-id=2 --snmp-query-id=1 --snmp-query-type-id=16 --snmp-field=ifDescr --list-snmp-values|grep -v "Known values"|grep -v ifDescr)
               for j in $Netdevice
                  do
                        php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=ds  --graph-template-id=2 --snmp-query-id=1 --snmp-query-type-id=14 --snmp-field=ifDescr --snmp-value="$j"
                        sleep 1

#              php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=ds  --graph-template-id=2 --snmp-query-id=1 --snmp-query-type-id=14 --snmp-field=ifDescr --snmp-value="eth1"
                 done
#############add filesystem#########
                echo "$(php  $Rootdir/add_graphs.php  --host-id="$host_ids"  --graph-type=ds --graph-template-id=26 --snmp-query-id=8 --snmp-query-type-id=18 --snmp-field=hrStorageDescr --list-snmp-values|grep -v "Virtual memory"|grep -v shm|grep -v "Known values")" > /tmp/list
                sleep 3

                while read line
                   do
                        php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=ds  --graph-template-id=26 --snmp-query-id=8 --snmp-query-type-id=18 --snmp-field=hrStorageDescr --snmp-value="$line"
                        sleep 1
                   done< /tmp/list

#               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=ds  --graph-template-id=26 --snmp-query-id=8 --snmp-query-type-id=18 --snmp-field=hrStorageDescr --list-snmp-values="Memory Buffers"
#               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=ds  --graph-template-id=26 --snmp-query-id=8 --snmp-query-type-id=18 --snmp-field=hrStorageDescr --list-snmp-values="Cached memory"

#               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=ds  --graph-template-id=26 --snmp-query-id=8 --snmp-query-type-id=18 --snmp-field=hrStorageDescr --list-snmp-values="Physical memory"

#               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=ds  --graph-template-id=26 --snmp-query-id=8 --snmp-query-type-id=18 --snmp-field=hrStorageDescr --list-snmp-values="Swap Space"

#               php $Rootdir/add_tree.php --host-id="$host_ids" --type=node --node-type=host --tree-id=2
       done
}

if [[ $# -ne 1 ]];then
       echo -e "\e[1;32m Usage:sh  $0 list[what you wanna add that include IP and hostname]

                list eg:1.1.1.1  test@example.com\e[0m"
        exit -1
fi
Add_host $1


2015-3-13  更新版本

注意版本不同,可能php 运行时候加的参数也有不同,具体可以先运行php 查看

#!/bin/bash
rm -f ip hostname
Rootdir="/usr/share/cacti/cli"
i=0
Add_host(){
awk '{print $1}' $1 > ip
awk '{print $2}' $1 > hostname
while read line  
       do  
               arr_IP[$i]="$line"  
               i=`expr $i + 1`  
       done < ip
i=0
while read line
       do
               arr_HOSTNAME[$i]="$line"
               i=`expr $i + 1`
       done < hostname
for (( k=0;k<i;k++ ))
       do
               php $Rootdir/add_device.php --description="${arr_HOSTNAME[$k]}"  --ip="${arr_IP[$k]}"  --template=3 --version=2 --community="snmp@kuaidi"
               host_ids=`php $Rootdir/add_graphs.php --list-hosts | grep ${arr_IP[$k]} | awk -F " " '{print $1}'`
               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=cg --graph-template-id=4
               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=cg --graph-template-id=11
               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=cg --graph-template-id=13
               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=ds  --graph-template-id=2 --snmp-query-id=1 --snmp-query-type-id=14 --snmp-field=ifDescr --snmp-value="eth0"
               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=ds  --graph-template-id=2 --snmp-query-id=1 --snmp-query-type-id=14 --snmp-field=ifDescr --snmp-value="eth1"
#               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=ds  --graph-template-id=26 --snmp-query-id=8 --snmp-query-type-id=18 --snmp-field=hrStorageDescr --snmp-value="/"
#               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=ds  --graph-template-id=26 --snmp-query-id=8 --snmp-query-type-id=18 --snmp-field=hrStorageDescr --snmp-value="/data"
#               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=ds  --graph-template-id=26 --snmp-query-id=8 --snmp-query-type-id=18 --snmp-field=hrStorageDescr --snmp-value="/var"
#               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=ds  --graph-template-id=26 --snmp-query-id=8 --snmp-query-type-id=18 --snmp-field=hrStorageDescr --snmp-value="/home"
#             php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=ds  --graph-template-id=26 --snmp-query-id=8 --snmp-query-type-id=18 --snmp-field=hrStorageDescr --snmp-value="/usr"
#               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=ds  --graph-template-id=26 --snmp-query-id=8 --snmp-query-type-id=18 --snmp-field=hrStorageDescr --snmp-value="/usr/local"
               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=ds  --graph-template-id=26 --snmp-query-id=8 --snmp-query-type-id=18 --snmp-field=hrStorageDescr --list-snmp-values"Memory Buffers"
#               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=ds  --graph-template-id=26 --snmp-query-id=8 --snmp-query-type-id=18 --snmp-field=hrStorageDescr --list-snmp-values="Real Memory"
               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=ds  --graph-template-id=26 --snmp-query-id=8 --snmp-query-type-id=18 --snmp-field=hrStorageDescr --list-snmp-values="Swap Space"
#               php $Rootdir/add_tree.php --host-id="$host_ids" --type=node --node-type=host --tree-id=2
       done
}
if [[ $# -ne 1 ]];then
       echo -e "\e[1;32m Usage:sh  $0 list[what you wanna add that include IP and hostname]
                list eg:1.1.1.1  test@example.com\e[0m"
        exit -1
fi
Add_host $1



2014 老版本

#!/bin/bash
Rootdir="/var/www/html/cacti/cli"
awk '{print $1}' iplist > ip
awk '{print $2}' iplist > hostname
i=0
while read line  
       do  
               arr_IP[$i]="$line"  
               i=`expr $i + 1`  
       done < ip
i=0
while read line
       do
               arr_HOSTNAME[$i]="$line"
               i=`expr $i + 1`
       done < hostname
for (( k=0;k<i;k++ ))
       do
               php $Rootdir/add_device.php --description="${arr_HOSTNAME[$k]}"  --ip="${arr_IP[$k]}"  --template=3 --version=2 --community="public"
               host_ids=`php $Rootdir/add_graphs.php --list-hosts | grep ${arr_IP[$k]} | awk -F " " '{print $1}'`
               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=cg --graph-template-id=4
               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=cg --graph-template-id=11
               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=cg --graph-template-id=13
               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=ds  --graph-template-id=2 --snmp-query-id=1 --snmp-query-type-id=16 --snmp-field=ifDescr --snmp-value="eth0"
               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=ds  --graph-template-id=2 --snmp-query-id=1 --snmp-query-type-id=16 --snmp-field=ifDescr --snmp-value="eth1"
               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=ds  --graph-template-id=26 --snmp-query-id=8 --snmp-query-type-id=18 --snmp-field=hrStorageDescr --snmp-value="/"
               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=ds  --graph-template-id=26 --snmp-query-id=8 --snmp-query-type-id=18 --snmp-field=hrStorageDescr --snmp-value="/data"
               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=ds  --graph-template-id=26 --snmp-query-id=8 --snmp-query-type-id=18 --snmp-field=hrStorageDescr --snmp-value="/var"
               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=ds  --graph-template-id=26 --snmp-query-id=8 --snmp-query-type-id=18 --snmp-field=hrStorageDescr --snmp-value="/home"
               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=ds  --graph-template-id=26 --snmp-query-id=8 --snmp-query-type-id=18 --snmp-field=hrStorageDescr --snmp-value="/usr"
#               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=ds  --graph-template-id=26 --snmp-query-id=8 --snmp-query-type-id=18 --snmp-field=hrStorageDescr --snmp-value="/usr/local"
               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=ds  --graph-template-id=26 --snmp-query-id=8 --snmp-query-type-id=18 --snmp-field=hrStorageDescr --snmp-value="Memory Buffers"
#               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=ds  --graph-template-id=26 --snmp-query-id=8 --snmp-query-type-id=18 --snmp-field=hrStorageDescr --snmp-value="Real Memory"
               php $Rootdir/add_graphs.php --host-id="$host_ids" --graph-type=ds  --graph-template-id=26 --snmp-query-id=8 --snmp-query-type-id=18 --snmp-field=hrStorageDescr --snmp-value="Swap Space"
#               php $Rootdir/add_tree.php --host-id="$host_ids" --type=node --node-type=host --tree-id=2
       done