Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan Netmiko untuk pemindahan fail dalam Python

Cara menggunakan Netmiko untuk pemindahan fail dalam Python

王林
王林ke hadapan
2023-05-19 19:51:01931semak imbas

    Mengirim fail konfigurasi, fail imej, dsb. ialah operasi biasa dalam pengurusan peranti rangkaian. Netmiko ialah perpustakaan Python yang boleh digunakan untuk berinteraksi dengan pelbagai peranti rangkaian Ia menyediakan beberapa fungsi untuk memindahkan fail, termasuk fungsi SCP (Secure Copy Protocol).

    Pengenalan kepada Netmiko

    Netmiko ialah perpustakaan Python lanjutan untuk Paramiko yang boleh digunakan untuk menyambung dan mengurus pelbagai peranti rangkaian. Netmiko boleh digunakan untuk menyambung ke pelbagai peranti rangkaian, seperti Cisco, Juniper, Arista, HP, dll. Pustaka Netmiko menyediakan pelbagai fungsi untuk menjadikan operasi seperti sambungan, penghantaran arahan, pemindahan fail, dll. lebih mudah dan mesra pengguna.

    Cara menggunakan Netmiko untuk pemindahan fail dalam Python

    SCP ialah protokol pemindahan fail selamat yang menggunakan protokol SSH untuk memindahkan fail. Berbanding dengan protokol pemindahan fail lain seperti FTP dan TFTP, SCP menggunakan sambungan yang disulitkan untuk menyediakan keselamatan yang lebih tinggi. Walaupun SCP kurang cekap apabila memindahkan fail besar, ia adalah pilihan ideal apabila memindahkan fail kecil.

    Pemasangan Netmiko

    Sebelum menggunakan Netmiko, anda perlu memasangnya. Netmiko boleh dipasang menggunakan pip, hanya gunakan arahan berikut:

    pip install netmiko

    Gunakan fungsi SCP Netmiko untuk memindahkan fail

    Gunakan fungsi SCP dalam perpustakaan Netmiko untuk memindahkan fail dari komputer tempatan ke peranti , dan juga boleh memindahkan fail daripada peranti ke komputer tempatan. Di bawah ini kami akan memperkenalkan cara menggunakan fungsi SCP Netmiko untuk memindahkan fail.

    Pindahkan fail daripada peranti ke komputer tempatan

    Untuk memindahkan fail daripada peranti ke komputer tempatan anda perlu menggunakan fungsi file_transfer Netmiko. Fungsi ini memerlukan empat parameter: laluan jauh, laluan tempatan, nama fail dan arah pemindahan fail (dari peranti jauh ke komputer tempatan). Laluan jauh dan laluan tempatan boleh menjadi laluan relatif atau laluan mutlak. Arah pemindahan fail perlu ditentukan menggunakan rentetan get. Berikut ialah contoh kod untuk memindahkan fail menggunakan fungsi file_transfer Netmiko:

    from netmiko import ConnectHandler
    
    device = {
        'device_type': 'cisco_ios',
        'ip': '192.168.1.1',
        'username': 'username',
        'password': 'password',
    }
    
    remote_path = 'flash:/config.txt'
    local_path = '/home/user/config.txt'
    file_name = 'config.txt'
    
    with ConnectHandler(**device) as ssh:
        ssh.file_transfer(
            remote_file=remote_path,
            local_file=local_path,
            file_system='flash:',
            direction='get'
        )

    Dalam kod contoh di atas, kami mula-mula mentakrifkan kamus peranti dan kemudian menggunakan fungsi ConnectHandler untuk menyambungkan peranti. Selepas menyambungkan peranti, kami menggunakan fungsi file_transfer untuk memindahkan fail. Parameter remote_file menentukan laluan fail pada peranti jauh, parameter local_file menentukan laluan fail pada komputer setempat, parameter file_system menentukan sistem fail di mana fail terletak dan parameter direction menentukan arah pemindahan. Jalankan kod di atas untuk memindahkan fail dari peranti ke komputer tempatan anda.

    Memindahkan fail daripada komputer tempatan ke peranti

    Memindahkan fail daripada komputer tempatan ke peranti juga memerlukan penggunaan fungsi file_transfer Netmiko. Fungsi ini memerlukan empat parameter: laluan jauh, laluan tempatan, nama fail dan arah pemindahan fail (dari komputer tempatan ke peranti jauh). Laluan jauh dan laluan tempatan boleh menjadi laluan relatif atau laluan mutlak. Arah pemindahan fail perlu ditentukan menggunakan rentetan put. Berikut ialah contoh kod yang menggunakan fungsi file_transfer Netmiko untuk memindahkan fail dari komputer setempat ke peranti:

    from netmiko import ConnectHandler
    
    device = {
        'device_type': 'cisco_ios',
        'ip': '192.168.1.1',
        'username': 'username',
        'password': 'password',
    }
    
    remote_path = 'flash:/config.txt'
    local_path = '/home/user/config.txt'
    file_name = 'config.txt'
    
    with ConnectHandler(**device) as ssh:
        ssh.file_transfer(
            remote_file=remote_path,
            local_file=local_path,
            file_system='flash:',
            direction='put'
        )

    Dalam kod sampel di atas, kami juga mentakrifkan kamus peranti dahulu dan kemudian menggunakan ConnectHandler berfungsi untuk menyambung peralatan. Selepas menyambungkan peranti, kami menggunakan fungsi file_transfer untuk memindahkan fail. Parameter remote_file menentukan laluan fail pada peranti jauh, parameter local_file menentukan laluan fail pada komputer setempat, parameter file_system menentukan sistem fail di mana fail terletak dan parameter direction menentukan arah pemindahan. Jalankan kod di atas untuk memindahkan fail dari komputer setempat anda ke peranti.

    Atas ialah kandungan terperinci Cara menggunakan Netmiko untuk pemindahan fail dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan:
    Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam