정태영

예전 스크립트에서는 그냥 특정 사용자에 한해서 백업을 하도록 하고 있었습니다. 하지만 백업의 중요성을 절실히 느끼게 되서, 요번엔 사용자의 계정 사용량을 체크해서 1기가 미만으로 사용을 하고 있다면 자동으로 백업을 하도록 만들었습니다.

BASH:
  1. #!/bin/sh
  2.  
  3. TMPWATCH="/usr/sbin/tmpwatch"
  4.  
  5. cd /home/member
  6. for member in *;do
  7.     if [[ -d "${member}" ]];then
  8.  
  9.         # get usage
  10.         usage=`du -s "${member}"|awk '{ print $1 }'`
  11.  
  12.         # remain only one item
  13.         if [[ -d "/backup/home/${member}" ]];then
  14.             lastone=`ls -t "/backup/home/${member}" | head -n 1`
  15.             if [[ -f "/backup/home/${member}/${lastone}" ]];then
  16.                 touch -m "/backup/home/${member}/${lastone}"
  17.             fi
  18.  
  19.             ${TMPWATCH} --mtime 1 "/backup/home/${member}"
  20.         else
  21.             mkdir -p "/backup/home/${member}"
  22.         fi
  23.  
  24.         # if usage is less than 1.4GB
  25.         if [ ${usage} -le 1400000 ]; then
  26.             tar cfzp "/backup/home/${member}/${member}-`date +%y%m%d`.tar.gz" "${member}"
  27.         fi
  28.     fi
  29. done

또한 ls 와 head, tmpwatch 를 이용해서 백업본이 최신 2 개만이 유지되도록 만들어놓았습니다. 만약 타르볼로 묶는데 1시간 이상 걸리는 용량을 아카이빙 하면 문제가 될 수 있습니다. --;

Tags: , ,

This entry was posted on Thursday, October 19th, 2006 at 2:20 pm and is filed under MyLife. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

One Response to “새 백업 스크립트…”

  1. Headvoy Says:

    어 그런 백업 멋지다. 훌륭해 ㅎㅎ

Leave a Reply