Skrip Python untuk sandaran tempatan dengan rsync

Di Gnu / Linux terdapat program yang berbeza untuk menjalankan sandaran tetapi secara peribadi saya menyukai perkara-perkara sederhana, jauh dari antara muka grafik (yang tentu saja tidak ada yang salah, tetapi jika saya dapat mengelakkannya, saya hindari)
Dalam perintah rsync terdapat sekutu sandaran yang hebat yang sering kita lupakan. Ia mempunyai cukup pilihan untuk membuat salinan dengan semua keperluan yang diperlukan. komputer-767784_640

Skrip python berikut membuat salinan sandaran untuk tujuan ini. Anda akan melihat bahawa sangat mudah dan bahkan bagi mereka yang sama sekali tidak tahu bahasa ini, menambah baris untuk skrip untuk menyegerakkan direktori baru adalah segera.
Di mesin saya, saya menggunakan cakera keras luaran yang saya namakan IOmega_HDD, sekiranya anda boleh menamakannya semula dalam skrip mengikut kes anda.
Perkara lain ialah menambah atau membuang direktori dari salinannya. Dalam skrip yang sama dengan baris komen dijelaskan bagaimana melakukannya.
Untuk mengotomatisasi tugas, anda boleh menambahkan baris ke crontab yang mengandungi jurubahasa python dan jalan di mana anda mahu meletakkan skrip. Saya harap ia berguna untuk anda.

Amaran: editor wordpress tidak membenarkan jarak pada awal baris, jadi lekukan yang diperlukan dalam skrip telah hilang, jadi saya telah mengganti ruang kosong dengan titik (.) yang mesti anda hilangkan dengan editor dan ganti dengan spasi.

-------------------------------
# -*- coding: utf-8 -*-
import os
ruta_usuario=os.getcwd()
ruta_volumen="/media/Iomega_HDD" #Modificar según nombre de disco externo
directorio_destino=ruta_volumen + "/" + "RsyncBackup"
try:
....if os.path.exists(directorio_destino):
........pass
....else:
........os.mkdir(directorio_destino,0777)
....directorios_origen=[] ....rutas_directorios_origen=[] ....#Se añaden los directorios para sincronizar
....directorios_origen.append("Documentos")
....directorios_origen.append("Imágenes")
....directorios_origen.append("Descargas")
....#Añadir aquí otros directorios que se deseen sincronizar
....#o eliminar de las líneas anteriores los que no se deseen
....for rutas in directorios_origen:
....rutas_directorios_origen.append(ruta_usuario + "/" + rutas)
....for rutas in rutas_directorios_origen:
....print "Sincronizando " + rutas + " con " + directorio_destino
....os.system("rsync -ahv --progress" + " " + rutas + " " + directorio_destino)
....print "Proceso terminado"
except OSError:
print "Ha ocurrido un error ¿está el disco externo listo?"
except:
print "Ha ocurrido un error"

---------------------------


Kandungan artikel mematuhi prinsip kami etika editorial. Untuk melaporkan ralat, klik di sini.

18 komen, tinggalkan komen anda

Tinggalkan komen anda

Alamat email anda tidak akan disiarkan.

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

  1.   Matias kata

    Helo, apa khabar?
    Saya suka skripnya, sangat ringkas.
    Tidak ada kesalahan, saya membuat beberapa pengubahsuaian untuk menjadikannya lebih mudah dan lebih mudah dibaca, selain menyokong Python 2 dan 3 (pada masa ini hanya boleh dijalankan di Python 2)

    Saya meninggalkan anda pautan dengan 2 versi, sekiranya anda berminat.
    http://linkode.org/1np9l2bi8IiD5oEkPIUQb5/Yfa4900cA76BpcTpcf4nG1

    1.    dandutrich kata

      Mod yang hebat dan saya gembira anda menyukai skripnya

  2.   niphosio kata

    Niatnya dihargai, tetapi hasilnya lezat dan sosis.
    Keponakan saya yang berusia 4 tahun mampu membuat skrip yang lebih pintar dan boleh dikonfigurasi daripada kentang ini yang anda letakkan di sini.

    By the way, lekukan kod itu salah, periksa gelung anda dan saya tidak bermaksud yang rambut

    1.    dandutrich kata

      Skripnya berfungsi dengan sempurna, saya telah menggunakannya sejak sekian lama dan, sebenarnya, kerana bilangan orang yang membagikannya, ia tidak semestinya jelek seperti yang anda katakan. Mungkin anda harus memanggil keponakan anda untuk melihat apakah anda telah meletakkan semuanya dengan betul

    2.    tr kata

      Hei, belajar untuk menilai dan bukannya mengkritik, betulkan, jika anda banyak membual.

      1.    dandutrich kata

        Tepat, Matias telah membuat beberapa pengubahsuaian hebat. Tentunya skripnya dapat diperbaiki dan itulah yang dimaksudkan dalam dunia kolaborasi dan itulah yang telah dinyatakan oleh Matias. Sangat disayangkan bahawa individu berada di sini untuk meredakan suasana yang baik yang harus ada. Di sana mereka.

    3.    abaddon s kata

      Adakah anda berfikir bahawa kritikan yang tidak sopan itu berguna dan tidak menambahkan apa-apa pada tulisan ini? LEBIH BAIK TIDAK ANDA MENULIS TULISAN YANG SESUAI DAN BERBAHAGIA !!!!!!!

  3.   Saya tidak tahu kata

    Berikut versi lain: https://gist.github.com/Itsuki4/5acc3d03f3650719b88d
    Komen mengenai kesalahan yang saya ada, saya akan membetulkannya (sekarang saya berada di tingkap dan saya tidak dapat mengujinya)

  4.   zetaka01 kata

    Baiklah saya menggunakan rsync secara langsung dengan skrip shell, tanpa menggunakan python.
    Saya meletakkan garis untuk setiap direktori sumber dan tujuan.
    Saya mempunyai beberapa skrip bergantung pada peranti yang saya buat salinannya, dalam kes saya bertambah.
    Sebagai contoh, untuk menyalin buku saya ke usb 128MB yang dipasang secara lalai di
    / media / zetaka01 / Sandisk128 Saya meletakkan baris berikut dalam skrip LibrosAusb128.sh:

    rsync -av –hapus / rumah / zetaka01 / Buku / media / zetaka01 / Sandisk128 /

    Sekiranya direktori tujuan tidak ada, ia akan membuatnya untuk anda dan memadam dari destinasi yang bukan asal, tentu saja secara berulang.
    Sesuatu ucapan.

  5.   zetaka01 kata

    Ah, ralat salin / tampal - hapus, dengan dua tanda hubung.

    Sesuatu ucapan

  6.   dandutrich kata

    Adakah anda ingin membuat antara muka grafik? Saya telah melihat kemungkinan Tkinter dan Tix tetapi untuk kawalan pilihan direktori mungkin Wx

  7.   zetaka01 kata

    Sudah ada antara muka grafik berdasarkan GTK, ia dipanggil grsync.
    Saya meninggalkan pautan ke Wikipedia, https://en.wikipedia.org/wiki/Grsync
    Sesuatu ucapan.

  8.   Fernando kata

    Hai semua. Skripnya boleh menjadi keajaiban atau kesederhanaan yang saya tidak tahu atau tidak peduli tetapi banyak perkara dapat dikatakan dengan seribu cara dan apabila ia dapat dikatakan dengan baik, mengapa mengatakannya salah? Walaupun begitu, saya harus mengatakan bahawa saya telah menjadi pengguna Linux sejak tahun 2008 dan walaupun selama ini saya lambat belajar dan saya sukar untuk memahami banyak perkara termasuk cara menjalankan skrip (saya tahu itu mudah tetapi satu tidak memberi lebih banyak). pasang program dengan menyusunnya dll. dll. Itulah sebabnya apabila saya membaca bahawa ada versi dengan antara muka grafik, saya telah mencari dan menemui halaman ini di mana mereka bahkan memberi anda semua yang dikunyah. Untuk kekok sebagai pelayan saya tinggalkan di sini. Salam dan terima kasih atas usaha anda.
    http://www.opbyte.it/grsync/download.html

    1.    dandutrich kata

      fernando, tanpa sebarang pertikaian dan jika anda tidak keberatan menjawab, saya ingin tahu mengapa anda menggunakan Gnu / Linux. Terima kasih dan salam mesra

  9.   zetaka01 kata

    Nah, antara muka grafik sangat mesra tetapi tidak memberi anda pilihan yang diberikan oleh arahan penuh kepada anda.
    Di samping itu, bukan untuk saya, saya melakukannya untuk mengukur, skrip, baik shell atau python atau apa sahaja yang anda mahukan, membolehkan anda memprogramnya agar dapat berjalan pada bila-bila masa yang anda mahukan.
    Ah, di distro linux anda semestinya anda mempunyai rsync dan grsync tanpa masalah di repositori.
    Sesuatu ucapan.

  10.   zetaka01 kata

    Ah Fernando, jika anda telah menggunakan linux sejak tahun 2008 dan anda tidak tahu bagaimana menjalankan skrip, saya tidak mempunyai kata-kata.
    Sesuatu ucapan

  11.   Gonzalo Martinez kata

    Adakah semua jurutera sistem di sini yang mengkritik skrip yang dilakukan seseorang untuk bekerjasama, dan jika menggunakan konsol / skrip atau apa sahaja?

    Betapa sialnya kentut demi Tuhan.

    Saya telah mengurus pelayan Linux selama 10 tahun, dan kebenarannya adalah bahawa ereksi elektronik untuk melakukan segala-galanya dengan skrip melewati saya beberapa ketika yang lalu, sebagai contoh, untuk mentadbir Bacula, saya lebih suka menggunakan antara muka grafik daripada cengkerang untuk berpura-pura penting, yang sebenarnya merupakan kaedah jenayah .

    Seseorang harus bersikap produktif, jika seseorang merasa lebih selesa melakukannya melalui antara muka, baik untuknya, yang penting adalah hasilnya, bukan bagaimana anda melakukannya.

    Dalam pekerjaan saya sebelumnya, saya mengarahkan bidang IT sebuah syarikat, dan orang-orang yang bertanggungjawab memintanya untuk melakukan sesuatu yang spesifik, saya tertarik dengan hasilnya, dia tidak mengatakan «Konfigurasi vhost lain dalam apache, menggunakan vi tanpa warna di terminal 30 × 20 ", bahawa dia melakukannya kerana dia paling selesa, jika lelaki itu lebih suka melakukannya seperti itu, memasang SFTP dan menggunakan notepad tingkap, atau berdoa kepada Bapa kita, saya tidak peduli selama dia melakukannya dengan betul.

    dandutrech, skrip memenuhi objektifnya, yang merupakan perkara penting, sekarang yang akan saya ubah ialah bukannya menggunakan perintah dari cengkerang, tiba-tiba ia menggunakan Python-librsync, yang merupakan perpustakaan untuk menggunakan fungsi rsync dalam Python.

    Dengan itu, anda boleh mendapatkan portabiliti, skrip berjalan di mana-mana persekitaran, sama ada Linux, Windows atau OS X.

  12.   dandutrecht kata

    Terima kasih, Gonzalo. Cadangan anda saya rasa sangat bagus dan saya akan memasukkannya ke dalam skrip. salam

bool(benar)