Strona 1 z 1

prosty skrypt - backup plików

: 30 gru 2013, 10:48
autor: NeVrea
Witam,

Z linuxem mam doczynienia od niedawna, próbuje właśnie stworzyć swoje pierwsze skrypty, ale średnio mi to idzie.

Chcę napisać skrypt tworzący folder, którego nazwą jest obecna data ( to mi się już udało ), a następnie znaleźć wszystkie pliki textowe i skopiować je do tego folderu.

Na chwilę obecną mam:

nazwa=`date +%d.%b.%Y`
katalog=$nazwa;
mkdir - ~/backup/"$katalog"

no i teraz znalezienie i skopiowanie tych plików. Próbowałem `find ~ -type f -iname "*.txt" -exec {} $katalog \;` ale nie ma praw do plików które znalazł

próbowałem również pętlą for

pliki=`find ~ -type f -iname "*.txt"`

for plik in plik
do

cp $pliki $katalog;

done

Proszę o wyjaśnienie jak zrobić by skrypt zadziałał, najlepiej obiema metodami :)

Re: prosty skrypt - backup plików

: 30 gru 2013, 12:19
autor: ABCD

Kod: Zaznacz cały

find -type f -iname '*.txt' -exec cp '{}' ./katalog ';'

Re: prosty skrypt - backup plików

: 06 sty 2014, 09:21
autor: adammaj1
Tu masz skrypt który kopiuje pliki do lokalnego katalogu Dropboxa ( a Dropbox potem kopiuje je na chmurę ) :

Kod: Zaznacz cały


#!/bin/bash

# save as a drop.sh in your home directory
# chmod +x drop.sh
# ./drop.sh

# Thx to Kamil  Jońca and Quetza
# http://unix.stackexchange.com/questions/100660/how-to-use-rsync-to-backup-a-directory-without-git-subdirectory

echo "copy files to Dropbox folder on local disc"

echo "copy this shell script and it's old version'"
cp ~/drop.sh  ~/Dropbox/Public/bash/drop.sh
# cp ~/drop_old.sh  ~/Dropbox/Public/bash/drop_old.sh

echo "copy c and sh files "
rsync -a --exclude='.git/' --include='*.c' --include='*.sh' --include='*/' --exclude='*' ~/c/ ~/Dropbox/Public/c
# exclude .git directory = do not send it to dropbox
# rsync -a --exclude='.git/' --include='*.c' --include='*.sh' --include='*/' --exclude='*' ~/c/ ~/Dropbox/Public/c

echo "copy cpp and sh files "
rsync -a --include='*.cpp' --include='*.sh' --include='*/' --exclude='*' ~/cpp/ ~/Dropbox/Public/cpp

echo "copy Maxima CAS files ( mac extension )"
rsync -a --include='*.mac' --include='*/' --exclude='*' ~/maxima/batch/ ~/Dropbox/Public/maxima

echo "copy Haskell files ( hs extension )"
rsync -a --include='*.hs' --include='*/' --exclude='*' ~/haskell/ ~/Dropbox/Public/haskell

# echo "copy text files ( txt extension )"
# rsync -a --include='*.txt' --include='*/' --exclude='*' ~/system/ ~/Dropbox/Public/system

# echo "copy contacts "
# rsync -a --include='*.vcf' --include='*/' --exclude='*' /media/data/doc/dane/nokiae66/Contacts ~/Dropbox/private/adam/
# http://unix.stackexchange.com/questions/2161/rsync-filter-copying-one-pattern-only

echo "files will be copied to Dropbox folder on the server "
 
HTH