Server IP : 127.0.0.2 / Your IP : 18.218.96.239 Web Server : Apache/2.4.18 (Ubuntu) System : User : www-data ( ) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : disk_free_space,disk_total_space,diskfreespace,dl,exec,fpaththru,getmyuid,getmypid,highlight_file,ignore_user_abord,leak,listen,link,opcache_get_configuration,opcache_get_status,passthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,php_uname,phpinfo,posix_ctermid,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid,posix,_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_times,posix_ttyname,posix_uname,pclose,popen,proc_open,proc_close,proc_get_status,proc_nice,proc_terminate,shell_exec,source,show_source,system,virtual MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/lib/byobu/ |
Upload File : |
#!/bin/sh -e # # rcs_cost: approximate Rackspace Cloud Server cost (USD) of the current instance # # Copyright (C) 2009-2010 Jon Bernard # Copyright (C) 2011-2014 Dustin Kirkland # # Author(s): Jon Bernard <jbernard@debian.org> # Dustin Kirkland <kirkland@byobu.org> # # Derived from byobu's ec2_cost written by Dustin Kirkland, see # Byobu's project page: http://byobu.org for more information # # This program is free software: you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the # Free Software Foundation, version 3 of the License. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General # Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program. If not, see <http://www.gnu.org/licenses/>. __rcs_cost_detail() { DETAIL=1 __rcs_cost } __rcs_cost() { # Approximate Instance Cost Basis # Memory US # 256MB $0.015/h # 512MB $0.030/h # 1024MB $0.060/h # 2048MB $0.120/h # 4096MB $0.240/h # 8192MB $0.480/h # 15872MB $0.960/h # Instance memory memory=`grep "^MemTotal:" /proc/meminfo | awk '{print $2}'` # Round memory down to the nearest multiple of 64MB memory=$((${memory} - (${memory} % (64 * 1024)))) # Apply the going rate INCREMENTS="256 512 1024 2048 4096 8192 16384 32768 65536" for X in ${INCREMENTS}; do test "$((${X} * 1024 + 65536))" -ge ${memory} && break done MEMORY_RATE=`printf "%s" "$X" | awk '{printf "%f", $1 / 256 * 15 / 1000}'` # Data Transfer Cost Basis # Incoming $0.08/GB # Outgoing $0.22/GB RX_RATE="0.08" TX_RATE="0.22" # Auto detect network interface [ -r "/proc/net/route" ] || return IF=$(tail -n1 /proc/net/route | awk '{print $1}') ifconfig_out=`LC_ALL=C /sbin/ifconfig "$IF"` # Calculate bandwidth cost tx_gb=${ifconfig_out#*RX bytes:} tx_gb=$(printf "%s" ${tx_gb%% *} | awk '{ printf "%f", $1 / 1024 / 1024 / 1024 }') rx_gb=${ifconfig_out#*TX bytes:} rx_gb=$(printf "%s" ${rx_gb%% *} | awk '{ printf "%f", $1 / 1024 / 1024 / 1024 }') network_cost=`printf "%s" "$tx_gb" "$TX_RATE" "$rx_gb" "$RX_RATE" | awk '{printf "%f %f", $1*$2, $3*$4}' | awk '{printf "%f", $1 + $2}'` # Calculate uptime cost hours=$(((`date +%s` - `stat --printf %Z /etc/hostname`) / 60 / 60 + 1)) uptime_cost=`printf "%s" "$hours" | awk "{printf \"%f\", "$MEMORY_RATE" * $hours}"` total_cost=`printf "%s %s" "$network_cost" "$uptime_cost" | awk '{printf "%.2f", $1 + $2}'` if [ "$DETAIL" = "1" ]; then echo "==========================================================" echo "Estimated cost in Rackspace Cloud Server since last reboot" echo "==========================================================" echo " Network sent: $tx_gb GB @ \$$RX_RATE/GB" echo " Network recv: $rx_gb GB @ \$$TX_RATE/GB" echo " Network cost: \$$network_cost" echo "----------------------------------------------------------" echo " Uptime: $hours hr @ \$$MEMORY_RATE/hr" echo " Uptime cost: \$$uptime_cost" echo "----------------------------------------------------------" echo "Total cost: ~\$$total_cost" echo "==========================================================" return fi [ -n "$total_cost" ] || return color K G; printf "R\$%s"; color -; color b K G; printf "%s" "$total_cost"; color -- } # vi: syntax=sh ts=4 noexpandtab