2010-06-17 12 views

cevap

37
# tar: (c)reate g(z)ip (v)erbose (f)ile [filename.tar.gz] [contents]... 
tar -czvf /var/file/bkup.tar.gz /home/code/bots /var/config /var/system 

# zip: (r)ecursive [filename.zip] [contents]... 
zip -r /var/file/bkup.zip /home/code/bots /var/config /var/system 
3

yılında

/home/code/bots/ 
/var/config/ 
. 
. 
. 
/var/system/ 

ve tüm tek dosya /var/file/bkup.[zip][tar.gz için sıkıştırılmış olacak]

Teşekkür Tanımladığınız problem, bir bash betiği gerektirmiyor, sadece tar.

tar cvzf /var/file/bkup.tar.gz /home/code/bots/ /var/config/ . . . /var/system/ 
örneğin bir cronjob içinde çalıştırmak ve Sen backup.sh gibi bir dosya oluşturmak için gereken önceden

bir mysqldump gibi diğer bazı komutlar eklemek niyetinde olmadığını, bunun için bir bash dosyası oluşturabilir

3

aşağıdaki içerikleri ile


#!/bin/bash 
# 
# Backup script 
# 

# Format: YEAR MONTH DAY - HOUR MINUTE SECOND 
DATE=$(date +%Y%m%d-%H%M%S) 

# MySQL backup file 
MYSQLTARGET="/var/file/backup-mysql-$DATE.sql" 

# Target file 
TARTARGET="/var/file/backup-$DATE.tar.gz" 

# MySQL dump 
# you cannot have a space between the option and the password. If you omit the password value 
# following the --password or -p option on the command line, you are prompted for one. 
mysqldump -u root -ppassword --all-databases > $MYSQLTARGET 

tar -czvf $TARTARGET $MYSQLTARGET /home/code/bots /var/config /var/system 

PS (sen whereis bash ile bash bulabilirsiniz bash yolunu değiştirmek gerekebilir). Bu test edilmemiş koddur. Bu, bir bash komut dosyasının mevcut yanıt bağlamında nasıl çalıştığıyla ilgili bir örnektir.

İlgili konular