如何在Ubuntu/CentOS/Debian上安装SpeedTest-CLI使用Ansible

时间:2020-02-23 14:38:48  来源:igfitidea点击:

本教程显示如何在Ubuntu 18.04和CentOS 7上使用Ansible安装SpeedTest-CLI以及如何使用它来测试连接速度。

我们假设我们已经安装了Ansible环境,Python和Python-setuptools(对于Ubuntu),并且都运行良好。
安装脚本取决于Ubuntu的Python-setuptools。

第一步:编辑库存文件

我们可以使用默认/etc/ansible/hosts文件,或者我们可以创建一个新的,只要在运行剧本时指定它

$sudo vim /etc/ansible/hosts
# Add your server IPs
[worker1]
172.21.98.186

第二步:创建剧本,如下所示

--
- hosts:  worker1 
  become: true
  tasks:
    - name: Check if Python is installed
      raw: test -e /usr/bin/python
      changed_when: false
      failed_when: false
      register: check_python
    - name: Install Python and setuptools
      raw: test -e /usr/bin/apt && (apt -y update && apt install -y python-setuptools  && apt install -y python) || (yum -y install python libselinux-python)
      when: check_python.rc != 0
    - name: Auto-Create project directory to dump speedtest-cli files from git
      file: path=/tmp/test state=directory
    - name: Get speedtest-cli from git
      git: repo=https://github.com/sivel/speedtest-cli.git dest=/tmp/test/
    - name: Change to speedtest-cli directory and install it
      become: yes
      command: chdir=/tmp/test/python setup.py install

一旦PlayBook成功运行,就是使用SpeedTest-CLI了。
让我们开始它。

使用SpeedTest-CLI最简单的SpeiStest是通过在终端上运行的:

$speedtest-cli
Retrieving speedtest.net configuration…

上面将衡量上传和下载速度,参考它会找到的最近的服务器。

如果我们希望衡量我们选择的服务器的速度,那么我们必须知道其ID。
要获取服务器的ID,请运行以下内容

$speedtest-cli --list

这将生成一个很长的服务器列表。
但是,当然,我们可以使用城市名称来获得结果:

$speedtest-cli --list | grep New\ York                                                                                                                            13098) Pilot (New York, NY, United States) [11842.04 km]
16976) Spectrum (New York, NY, United States) [11842.04 km]
5029) AT&T (New York, NY, United States) [11842.04 km]
10390) Speedtest.net (New York, NY, United States) [11842.04 km]
663) Optimum Online (New York, NY, United States) [11842.04 km]
18381) AT&T Wireless (New York, NY, United States) [11842.04 km]
16888) Natural Wireless (New York, NY, US) [11842.04 km]
7170) ISPnet, Inc (New York, NY, United States) [11842.04 km]
10546) Sprint (New York, NY, United States) [11842.04 km]
16686) CCleaner (New York, NY, United States) [11842.04 km]
21016) Starry, Inc. (New York, NY, United States) [11842.04 km]
21313) Data Room (New York, NY, United States) [11842.04 km]
6030) fdcservers.net (New York, NY, United States) [11842.04 km]
18956) Hivelocity Hosting (New York, NY, United States) [11842.04 km]
20326) Honest.net (New York, NY, United States) [11842.04 km]
24374) GTT.net (New York, NY, United States) [11842.04 km]
22715) Newforce Solutions (New York, NY, United States) [11842.04 km]
25070) Stealth Communications (New York, NY, United States) [11842.04 km]
26314) Castcrown Limited (New York, NY, United States) [11842.04 km]
18098) Atlantic Metro (New York, NY, United States) [11842.04 km]
25168) MinhaLista (New York, NY, United States) [11842.04 km]

有列表后,我们现在可以选择要使用的那个然后运行

$speedtest-cli --server 13098    # for Pilot (New York, NY, United States) server.
Retrieving speedtest.net configuration…

如果我们愿意使用每秒的字节而不是每秒默认情况下的BITS,只需使用-BYTES选项,我们将很好。

$speedtest-cli --bytes --server 6030
Retrieving speedtest.net configuration…