User Tools

Site Tools


команда_cpio

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
команда_cpio [2011/02/24 10:54]
val
команда_cpio [2016/04/07 09:42] (current)
val [Команда cpio]
Line 1: Line 1:
 ====== Команда cpio ====== ====== Команда cpio ======
  
-[[http://www.gnu.org/software/cpio/manual/​cpio.html]]+  * [[https://ru.wikipedia.org/wiki/Cpio|Copy Input/Output]]
  
 ===== Создание архива ===== ===== Создание архива =====
 <​code>​ <​code>​
 +# cd /; find etc/ | cpio -o | bzip2 -c > /​mnt/​etc.cpio.bz2
 +
 # cd /; find etc/ -name '​*,​v'​ | sed -e '​s/​RCS\///'​ -e '​s/,​v//'​ | cpio -o | bzip2 -c > /​mnt/​etc.cpio.bz2 # cd /; find etc/ -name '​*,​v'​ | sed -e '​s/​RCS\///'​ -e '​s/,​v//'​ | cpio -o | bzip2 -c > /​mnt/​etc.cpio.bz2
 +
 +# cd /; find etc/ -ctime -1 | cpio -o | bzip2 -c | ssh archiveserver "cat > etc.cpio.bz2"​
 </​code>​ </​code>​
  
Line 25: Line 29:
 </​code>​ </​code>​
  
 +===== Варианты использования =====
 +
 +==== Сценарий:​ бэкап фотографий из Apple iPhoto ====
 +<​code>​
 +[~ ] $ cat Pictures/​backup/​backup.sh ​
 +#!/bin/sh
 +
 +# Archive size
 +# export as=734003200 #CD
 +# export as=700000000 #CD
 +# export as=4831838208 #DVD
 +export as=8500000000 #DVDRDL
 +
 +# Backup list file name
 +export bf=backup/​backup`date "​+%Y-%m-%d_%H-%M-%S"​`_${as}.txt
 +
 +export IFS=""​
 +
 +cd ~/Pictures
 +[ -e backup/​full.txt ] && rm backup/​full.txt
 +mkfifo backup/​full.txt
 +
 +find iPhoto\ Library -type f -exec ls -l {} \; > backup/​full.txt &
 +
 +cat backup/​backup*.txt | fgrep -v -f - backup/​full.txt | 
 +(
 +        s=0
 +        while read f
 +        do
 +                echo $f >> $bf
 +                s=$(($s+`echo "​$f"​ | awk '​{print $5}'​`))
 +                test $s -gt $as && break 
 +        done
 +        test $s -gt $as && {
 +                echo "​Success create list for archive"​
 +                echo "File name: $bf"
 +                echo "​Archive size: $s"
 +                sed '​s/​.*\(iPhoto Library.*\)/​\1/'​ ${bf} | cpio -o > ${bf}.cpio
 +        } || {
 +                echo "No enought files for archive"​
 +                echo "Need $as exists $s"
 +                rm $bf
 +        }
 +)
 +[ -e backup/​full.txt ] && rm backup/​full.txt
 +</​code>​
команда_cpio.1298534058.txt.gz · Last modified: 2013/05/22 13:50 (external edit)