it-swarm.asia

Bir sunucuyu yedeklerken hangi dizinleri hariç tutmalıyım?

Bir Linux sunucusunu yedekliyorum ve başka bir sunucuda saklıyorum.

Basit bir şeyle başladım

rsync -aPh --del server.example.com:/ /mnt/backup

Sonra birisi yedeklememem gerektiğine dikkat çekti /proc, /proc sunucudan diğerine.

Eklemem/içermemem gereken başka bir şey var mı?

Örneğin, /sys?

38
Rory

Bu gerçekten sisteminizi nasıl geri yükleyeceğinize bağlıdır. Yeniden oluşturursanız, yalnızca hizmetleriniz için yapılandırma/veri dosyalarına ihtiyacınız vardır (örneğin:/etc,/opt,/var,/home)

Tam bir sistem geri yüklemesi içindeyseniz,/proc,/boot &/dev. Ardından, minimum işletim sistemini önyükleme ortamınızdan yükleyebilir ve ardından sisteminizi yedeklemenizle geri yükleyebilirsiniz.

Tabii ki, en iyi yedekleme test edilmiş ve doğrulanmış olan bir yedekleme.

Bu yüzden ihtiyacınız olmadığını düşündüğünüzü atlayın, bir VM) öğesinde geri yüklemeyi deneyin ve bu verileri kullanarak sisteminizi geri alabileceğinizi doğrulayın.

24
Wayne

Hem /proc Hem de /sys, Sistemin durumunu yansıtan ve birkaç çalışma zamanı parametresini değiştirmenize (ve bazen doğrudan belleğe veya bir belleğe yazmak gibi daha tehlikeli şeyler yapmanıza izin veren) sanal dosya sistemleridir. cihaz). Asla yedeklememeli veya geri yüklememelisiniz.

Modern dağıtımların çoğunda, /dev Önyüklemede dinamik olarak oluşturulur (udev ve arkadaşları tarafından doldurulmuş bir bellek dosya sistemidir). Yedeklemenin bir anlamı yok ve geri yüklemeye çalışmak nafile. Ancak, dağıtımınız statik bir /dev Kullanacak şekilde yapılandırılmışsa, bu geçerli değildir (/proc/mounts Öğesini kontrol edin, /dev Bir tmpfs ise bir bellektir dosya sistemi).

Yedeklememeniz gereken başka dosya sistemleri de vardır; usbfs (eğer monte edilmişse genellikle /proc/bus/usb 'da), debugfs (monte edilmişse /sys/kernel/debug' da olması gerekiyordu, ancak bazı insanlar bunu bir yere koydu aksi halde büyük olasılıkla buna sahip değilsiniz), devpts (/dev/pts öğesinde takılı), diğer tmpfs örnekleri (genellikle /dev/shm öğesinde bulunur, /var/run, /var/lock Ve diğer yerler; bunların yedeklenmesi ve geri yüklenmesi zararsız ancak anlamsız olmalı, içerikleri kapanırken içerikleri kaybolur) ve tüm uzak dosya sistemleri veya sihirli otomatik sayaç dizinleri (yedekleme veya geri yükleme girişimi) farklı bir makine) yedeklemeniz/geri yüklemeniz gerekebilir. Ayrıca /media Ve /mnt Konusunda dikkatli olmalısınız, çünkü harici aygıtlar (sürücüde unuttuğunuz bir CD gibi) orada bulunabilir, ancak bunları bir şeyleri monte etmek amacıyla da kullanmış olabilirsiniz bu da yedeklenmelidir.

Çoğunlukla zararsız tmpfs örnekleri, ağ dosya sistemleri/otomatik sayaçları ve çıkarılabilir medya dışında, yedeklememeniz gereken dosya sistemlerinin tümü /dev, /proc Veya /sys. Ağ dosya sistemleriniz (veya otomatik sayaçlarınız) ve çıkarılabilir medyanız yoksa, /sys Ve /proc Hariç ve geri yüklemeden sonra yeniden başlatma (tmpfs örneklerini silmek için) yeterli olmalıdır .

30
CesarB

Bakınız Yedekleme Tao , bölüm 1.

17
Teddy

/ Proc ve/sys içindeki bazı özel dosyalar rsync'i karıştırır. Bağlı ağ dosya sistemlerini de genellikle yedeklemek istemezsiniz. Seyrek dosyalar da sorunlara neden olabilir.

Bir dosya sistemiyle sınırlamak için -x ekleyin. Bu, tüm ağ dosya sistemlerini ve/proc vb.

Seyrek dosyaları duyarlı bir şekilde işlemek için -S ekleyin.

8
pjc50

/ boot,/dev ve/proc yedekleme için oldukça işe yaramaz - ne yaptığınızı biliyorsanız yedekleme/önyükleme yapabilirsiniz.

Ayrıca/lib,/media,/mnt,/sbin,/bin,/srv,/sys veya/tmp'yi de yedeklemezdim.

/ usr,/usr içinde yedeklemeye değer bir şey olup olmadığına bağlı olarak isteğe bağlıdır. Ben olsaydım en çok kullanıcının $ HOMEs,/var ve/etc (yapılandırma dosyaları için) yedekleme konusunda endişe ediyorum.

Yine de, bu gerçekten yapmak istediğiniz yedekleme tip bağlıdır. Bu bir web sunucusu mu? Bu kişisel bir bilgisayar mı? Bu,/dizinde tonlarca dizin bulunan bir Shell sunucusu mu?

4
Michael Pobega

Sfdisk ve dd kullanarak toplam yedekleme yapabilirsiniz.


Her sabit sürücünün bölüm düzenini yedeklemek için sfdisk'i şu şekilde kullanırsınız:

sfdisk -d /dev/sda  > parttable_sda.part

Her bölümü yedeklemek için dd kullanabilirsiniz, örneğin:

dd if=/dev/sda1 of=devsda1.img

Nerede /dev/sda1, canlı CD önyüklemesi gibi takılı değil.

(bu dosyayı yazmak için çok fazla boş alanınızın olması gerektiğini unutmayın; bu nedenle harici bir ortama yazmak isteyebilirsiniz) Bunu her bölüm için birer birer yapın ve her şeyi yedekleyin.


Ardından, başka bir bilgisayara geri yüklemek için şunları yapabilirsiniz:

sfdisk /dev/sda < parttable_sda.part
dd if=devsda1.img of=/dev/sda1    # do this for each partition
3
Michael Pobega

Dışlamak yerine, genellikle yalnızca istediğimi yedeklerim. Dahil olmak üzere: /home/etc/var (dışında /var/log)

2
DennyHalim.com

Temel olarak, sözde dosya sistemlerinin (/ proc,/sys,/dev/shm ...) yedeklenmesi gerekmez.

1
sendmoreinfo

Bir Ubuntu 18.04 makinesindeyim ve bunları hariç tuttum:

/dev/
/proc/
/sys/
/tmp/
/run/
/mnt/
/media/
/lost+found/
/cdrom/
/swapfile

Ayrıca, özellikle benim kurulum için, ben hariç:

/home            <-- Backed up separately
/backup          <-- Mount point for backup disks
/data            <-- Mount point for data disks, which are backed up off-site
/scratch         <-- Mount point for volatile fast SSD scratch disk
1
user2724383

Bu büyük topluluğun işaret ettiği gibi:

/ dev/proc/sys/tmp/run/medya/kayıp + bulundu/önyükleme (/ önyükleme isteğe bağlıdır diğer yorumlara bakın)

Referans için son rsync komutum ('/ run/media/fred/INTENSO /' içine monte edilmiş ve 'fred' adlı bir klasöre yedeklenmiş harici medya ile Arch altında):

$ Sudo rsync -Pazhmxv --exclude/run/media --exclude/dev --exclude/lost + found --exclude/tmp --exclude/proc --exclude/boot --exclude/sys// run/media/fred/INTENSO/fred /.

(hariç tutulan dosyalar ayrıca Bash altındaki süslü parantezlerle (--exclude = {/ dev,/proc}) veya bir metin dosyasıyla (--exclude-from = 'excude.txt') belirtilebilir).

-P: ilerleme durumunu göster -a: arşiv modu -z: aktarım sırasında sıkıştır -h: okunabilir biçimde çıktı sayıları -m: Boş dizinleri budama -x: bir dosya sistemi ile sınırlama -v: ayrıntılı

1
Fred Christophe

Soru: Bir sunucuyu yedeklerken hangi dizinleri hariç tutmalıyım?

İşte bir Ubuntu 16.04 LTS dizüstü bilgisayarından bir Ubuntu 16.04 LTS sunucusuna kadar sık ​​kullandığım bir komut dosyası. Tam bir yedekleme yaparken hangi dizinlerin atlanması gerektiğini açıkça gösterir:

echo "EMPTYING TRASH"
rm -rf ~/.local/share/Trash/* >/dev/null 2>&1
echo "DELETING OLD LOGS"
Sudo rm -f /var/tmp/* >/dev/null 2>&1
Sudo rm -f /var/log/*.gz >/dev/null 2>&1
Sudo rm -f /var/log/kern* >/dev/null 2>&1
Sudo rm -f /var/log/messages* >/dev/null 2>&1
echo "DELETING CHROMIUM CACHE"
rm -rf /home/pi/.cache/chromium/Default/Cache/* >/dev/null 2>&1
echo "====================================================================="
echo "      BEGINNING RSYNC from PAV root to PRIME5:/mnt/full/pav"
echo "====================================================================="
time Sudo rsync -aAXv \
          / \
          --bwlimit=500 \
          --delete \
          --delete-excluded \
          --ignore-errors \
          --exclude="/dev/*" \
          --exclude="/proc/*" \
          --exclude="/sys/*" \
          --exclude="/tmp/*" \
          --exclude="/run/*" \
          --exclude="/mnt/*" \
          --exclude="/media/*" \
          --exclude="/lost+found" \
          [email protected]:/mnt/full/pav
echo "====================================================================="
df -h

/mnt - Her bir Ubuntu sisteminde, cron tabanlı rsync kendi kendine yedekleme için günde 4 kez tam zamanlı bir yedekleme sürücüsü bulunur. Bu sürücüler fstab girişleri ile monte edilir ve her zaman mevcuttur. Bunları başka bir sisteme yedeklemeye dahil etmek kopya olacaktır.

Benzer şekilde, /media, USB sürücülerinin bağlandığı yerdir. Ayrı olarak yedeklenirler.

0
SDsolar

Sanal bir makinede Linux'un olmadığını varsayarım. Mümkünse sanallaştırmaya geçmeyi düşünürüm. Vm düzeyindeki yedeklemeler yepyeni bir tutarlılık ve kullanım kolaylığı düzeyidir. Ücretsiz sanallaştırma araçları var, bu yüzden mutlaka VmWare veya diğer pahalı canavar araçlarına yatırım yapmak zorunda değilsiniz.

0
Gnudiff

Web sitesi geliştirme ve dokümantasyon wiki barındırmak için bir test sunucusu olarak bir Ubuntu linux kutusu kullanıyorum. Her gece bir crontab MySQL veritabanını/var/www içine atar ve ardından/var/www dosyalarının tümü sıkıştırılır ve yedekleme sunucusuna çoğaltılır. İdeal değil, ama yeterli. Sunucuyu bir noktada yeniden inşa etmek zorunda kaldım ve gerçekten kaçırdığım tek şey Apache ve Samba yapılandırma dosyalarıydı.

0
Nic

Genelde bir sistemde yedekleme alışkanlığı yapıyorum her şey, kesin olarak bildiğim şeyler bile yedeklemenin yararsızdır. Kurulumu daha basittir ve ihtiyacınız olan her şeyi yedeklemeye dahil edeceğinizden% 100 emin olabilirsiniz.

0
Maximus Minimus