rsync 사용하기

2011. 6. 29. 16:12
일단 ubuntu 에서는 rsync 프로그램이 깔려 있어서 ssh를 통하면
굳이 rsync 데몬 설정을 할 필요가 없다.

ex) 앞이 대상이고 뒤가 복사할 곳
--delete 는 원본에 파일이 없으면 복사본에 있던 파일을 지우기
rsync -arz --delete -e "ssh" user@10.10.10.11:/home/iz4blue/files ./ 
Posted by 눈빛마음
:
모든 trac 덤프하기 입니다.
svn 덤프하기와 거의 동일합니다.

#!/bin/bash
RESULT=0
 
if [ $1 ]
then
        dir=$1/*
else
        dir=./*
fi
 
echo "All projects dump at $dir directory."
 
for file in $dir
do
ProjectName=${file##$1/}
DirName=$ProjectName\_`date +%F`_TRAC

echo "Project in $file start"

trac-admin $file hotcopy $DirName
let "RESULT = $RESULT + $?"
tar czf $DirName.tar.gz $DirName
rm -rf $DirName
done

exit $RESULT 
Posted by 눈빛마음
:
모든 svn 프로젝트를 dump 하기 입니다.

#!/bin/bash
RESULT=0
 
if [ $1 ]
then
        dir=$1/*
else
        dir=./*
fi
 
echo "All projects dump at $dir directory."
 
for file in $dir
do
ProjectName=${file##$1/}
FileName=$ProjectName\_`date +%F`_SVN.dump

if [ $ProjectName == "passwd" ]
then
continue
fi

echo "Project in $file start"
svnadmin dump $file > $FileName
let "RESULT = $RESULT + $?"
gzip $FileName
done

exit $RESULT 
Posted by 눈빛마음
:
다음은 bash 로 디스크 옹량 체크하기

#!/bin/bash
DISK[0]="sda1"
DISK[1]="sda2"
MORE_THEN=75

RESULT=0

for i in "${DISK[@]}"
do
echo "Check /dev/"$i" Disk space"
OUTPUT=`df -h | grep $i | awk '{ print $5 }' | sed -e 's/\%//g'`
if [ $OUTPUT -gt $MORE_THEN ]
then
let "RESULT=$RESULT + 1"
echo "/dev/"$i" is more space"
fi
done

echo "check result is $RESULT"
exit $RESULT 
Posted by 눈빛마음
:
bash array 의 예제로 보는 것이 더 좋을 것 같다.
DB들을 지정해두고 bash array 를 실습한 내용이다.

#!/bin/bash

DB[0]="vbpod"
DB[1]="mysql"
DB[2]="test"
DB[3]="information_schema"
DB[4]="apptrek"
DB[5]="ditto"
DB[7]="elements"
DB[8]="hwdata"
DB[9]="krazyrain"
DB[10]="mysql"
DB[11]="rockband"
DB[12]="test"
DB[13]="vb_cmmc"
DB[14]="vbbucks"
DB[15]="vbpod"
RESULT=0

for i in "${DB[@]}"
do
mysqlcheck -u root $i
if [ $? -ne 0 ]
then
let "RESULT = $RESULT + 1"
fi
done

echo
echo
echo "check result is $RESULT"
exit $RESULT 
 
Posted by 눈빛마음
:
서버의 체크 결과를 메일로 발송하기이다.

어느정도 보시면 이해하실 것이라 믿고 ^^
좀 지저분해도 이해해주시길

 #!/bin/bash
REPORT_MAIL="jhkim@vanillabreeze.com"
REPORT_MAIL_CC="dev@vanillabreeze.com"
SENDER_MAIL="CRON-REPORT<bot@vanillabreeze.com>"
RESULT_FILE="./Check-DB-Result-log.txt"
pushd /root/jhkim

echo "Start Cron Process - Check DB"

Check_Result=0

./check-mysql.sh > $RESULT_FILE

if [ $? -eq 0 ]
then
Mail_Title="[Report] EC2-01 `date +%F` DB Check result OK"
Check_Result=0
mutt -e "set from=$SENDER_MAIL" -s "$Mail_Title" -a $RESULT_FILE -- $REPORT_MAIL < ./Message-OK.txt
else
Mail_Title="[Report] EC2-01 `date +%F` DB Check result FAIL"
Check_Result=1
mutt -e "set from=$SENDER_MAIL" -s "$Mail_Title" -c $REPORT_MAIL_CC -a $RESULT_FILE -- $REPORT_MAIL< ./Message-FAIL.txt
fi

popd
Posted by 눈빛마음
:
일단 여러가지로 메일 발송시 딜레이가 생기는 문제는 있지만,
간단히 구축할 수 있고 관리가 쉽고 디버깅이 쉬운 것으로 내가 권하는 조합은

ubuntu + ssmtp + mutt 이다

거기서 mutt 로 메일 발송을 테스트 해보는 것은

mutt -e "set from=jhkim@vanillabreeze.com" -s "TEST Mail Subject" jhkim@vanillabreeze.com < ../test.txt
이렇게 되겠다 첨부파일을 할때는

mutt -e "set from=iz4blue@gmail.com" -s "TEST Mail Subject" -a ./inspection.html --  iz4blue@gmail.com < /root/message.txt
이렇게  첨부파일 뒤에 -- 를 꼭 넣어주어야 한다.
Posted by 눈빛마음
:
하드 디스크 섹터에 에러가 생겼을때
그 섹터들을 찾아서 다시 한번 기록해주는 방법으로 마지막까지 살려보자.

그 bash 스크립트

#!/bin/bash

SECTOR=1

while [ $SECTOR -ne 1618235835 ]
do
hdparm --read-sector $SECTOR /dev/sdc > /dev/null 2>&1
if [ $? -ne 0 ]
then
sleep 1
hdparm --read-sector $SETOR /dev/sdc
fi

if [ $? -ne 0 ]
then
echo $SECTOR
hdparm --yes-i-know-what-i-am-doing --write-sector $SECTOR /dev/sdc
fi

let "SECTOR = $SECTOR + 1"
done
Posted by 눈빛마음
:
서버 관리를 하다가 보면 여러대의 서버들의 시간이 중요해질 때가 있다.

그래서 항상 잊지 않고 하는 것은 rdate나 ntp 등을 이용하여
서버의 시간을 동기화 시키는 데...

이상하다는 이야기를 듣고 확인해보니 하루마다 맞춤에도 97초나 차이나는 경우가 생기는 걸 확인했다.
daemon.log.1:Jan 3 03:06:01 Clien204 ntpdate[751]: step time server 91.189.94.4 offset 97.389888 sec

결국 매시간 동기화를 해야하나? 물론 매시간 동기화를 한다고 하여도 문제는 생길텐데...
이거 새로운 고민거리다 @_@a

간단히는 ntpd를 쓰면 되겠지만 그냥 공돌이적 호기심이 생겨버렸다.
Posted by 눈빛마음
:

카테고리

분류 전체보기
Secret
일기
개인 기록
IT
Linux Script
Cassandra
같이 나눠요
Synology
django

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

달력

«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

글 보관함