Ana dizininizi rsync ile yedekleyin ve gereksiz klasörleri atlayın


24

Ev klasörünüzü harici bir sabit sürücüde kolayca yedekleyebilirsiniz.

rsync -a --exclude=.cache --progress /home/$USER /media/linuxbackup/home/$USER

.Cache klasörünü hariç tuttum çünkü bu yedeklemeden yeniden kurmam gerektiğinde asla ihtiyacım olmayacağını düşünüyorum.

Burada, normal bir yedeklemede dışlayabileceğim tüm klasörlerin listesini burada buldum:
Hangi dosya ve dizinler, ana dizinin yedeklemesinden çıkarılabilir?

Bu formdaki bazı kodları içeren bu cevabın bir listesini hazırladım:

#These directories may be excluded:

.gvfs                           # contains mounted file systems?
.local/share/gvfs-metadata
.Private                        # contains the actual encrypted home directory
.dbus                           # session-specific
.cache
.Trash                          # do I need to say more?
.local/share/Trash
.cddb                           # cached info about audio CDs
.aptitude                       # cached packages lists

#Flash-specific:

.adobe                          # Cache for flash, maybe others?
.macromedia   # except for Flash persistence, there is no reason to keep this

#Files:

.xsession-errors            # contains errors from the current graphical session
.recently-used              # recently used files
.recently-used.xbel
.thumbnails

İşte listedeki tam liste

Bu listeyi rsync komutuma nasıl ekleyebilirim?


1
Bunun yanında .Trash, sık sık da var .Trash-1000(en azından şu anki Ubuntu-MATE 14 uyarınca), bu yüzden daha iyi razı olmak .Trash-*?
— Frank Nocke

Yanıtlar:


40

Hariç tutulanlar listesi sadece dosya isimlerini, alt isimleri ve ile başlayan satırları içerebilir #. Kat adının arkasındaki yoruma izin verilmiyor. Gereksiz tüm bilinen dosya ve klasörlerle bir Git havuzu oluşturdum:

Bu ignorelist'i / var / tmp / ignorelist'e indirin

wget https://raw.githubusercontent.com/rubo77/rsync-homedir-excludes/master/rsync-homedir-excludes.txt -O /var/tmp/ignorelist

Sonra rsync ile başlayın

rsync -aP --exclude-from=/var/tmp/ignorelist /home/$USER/ /media/$USER/linuxbackup/home/

Not:
Ignorelist'te başlangıçta klasör içeren, dizinleri olan ve muhtemelen bir yedeğe değmeyecek bir bölüm vardır.


2
İki komutu birleştirebilirsiniz, çünkü rsyncaşağıdakileri okuyabilir stdin:wget https://... -O - | rsync -a --progress --exclude-from=- ...
— muru

8
iyi nokta, ama rsync'e başlamadan önce görmezden gelene ilk önce bakmanın tavsiye edilebilir olduğunu düşünüyorum
— rubo77

şaşırtıcı bir şekilde node_moduleslistede yok
— jokok

node_modulesconfig dizinlerinizin bazılarında saklamak istemiyor musunuz? Düşünsene, ana dizininizi yeni bir bilgisayara taşımak istiyorsunuz, sonra bunları saklamanız gerekir.
— rubo77

4

Kimden man rsync:

 --exclude-from=FILE     read exclude patterns from FILE
          This option is related to the --exclude option, but it specifies
          a FILE that contains exclude patterns  (one  per  line).   Blank
          lines  in  the  file  and  lines  starting  with  ’;’ or ’#’ are
          ignored.  If FILE is -, the list  will  be  read  from  standard
          input.

Böyle bir liste var,
— sorumu düzelttim

@ rubo77 Ben hiçbir liste var ki bildirgemden stand by tüm klasörler olabilir dahil değildir. Bu bir öneri ve Lekenstyn'in bile tam bir liste olduğunu söyleyeceğinden şüpheliyim.
— muru

Olmak zorunda değil 'liste tam I sadece bariz yararsız klasörleri böylece daha hızlı benim yedek oluşturmak atlamak istiyorum
— rubo77

@ rubo77 Yorumları farklı satırlara kaydırmanız gerektiğini düşünüyorum.
— muru

thx,
— gist

0

Dizinler ve dosyalar yalnızca istediğiniz yedeklemeyi içeriyorsa, bunu deneyebilirsiniz. Tüm gizli dizinleri içermez.

rsync -aP --exclude=.* /home/$USER/ /media/$USER/folder


Daha "spesifik eksik" ifadesi olabilir misiniz?
— arth

Oh, üzgünüm - çok özlüyordum ve bir yazım hatası yaptım: "tırnak" yerine "tırnak".
— Volker Siegel

Kabuk genişleyebilir *(belki o yerde değil?). Yollar alıntılanmalıdır - kullanıcı adı boşluk içeremez, ancak /media/olabilir /Old Media/ya da öyle olabilir ...
— Volker Siegel

Özür dilerim, alamadım. '. *' Hiçbirini içermez. ' '/ home / $ USER /' ana dizinindeki yedek dizinleri gizleyen dizinler: harici hdd veya pen drive '/ media / $ USER / folder'. Bunu yaparak, yalnızca asıl dizin ve dosyalar yedeklenir. Başka bir şeye işaret ediyorsanız, lütfen ayrıntılandırın.
— arth

4
Bir nokta ile başlayan tüm dizinleri dışlamak gerçekten anlamlı değildir, örneğin .thunderbird dizini en önemli dizinlerden biridir
— rubo77
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.