IzzyMenu.com

Programming(Script,ASSM,Unix-C)

 ·Î±×ÀÎ  È¸¿ø°¡ÀÔ

[Script] À¯Àú ¹é¾÷
ANTON  2009-06-28 04:40:55, Á¶È¸ : 177, Ãßõ : 43

[root@mail bin]# cat su_backup
#!/bin/bash
export Today="`date '+%y-%m-%d'`"
backup_dir=`cat /root/bin/conf/su_util.cfg | grep -v "^#" | grep -w backup_dir | awk -F= '{print $2}'`
backup_count=`cat /root/bin/conf/su_util.cfg | grep -v "^#" | grep -w backup_count | awk -F= '{print strtonum($2)}'`
home_dirs=`cat /root/bin/conf/su_util.cfg | grep -v "^#" | grep -w home_dirs | awk -F= '{print $2}'`

if [ "$1" == "" ] ; then
        echo "       »ç¿ë¹ý :  $0 ¿É¼Ç "
        echo "
  1) ·ÎÄà ¹é¾÷
    $0 --local

  2) ¿ø°Ý ¹é¾÷
     - ¿ø°ÝÁö¿¡ ÀÖ´Â ÆÄÀϵéÀ» ftp¸¦ ÀÌ¿ëÇؼ­ °¡Á®¿É´Ï´Ù.
     ** ncftp ÆÐÅ°Áö°¡ ¼³Ä¡µÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù.
    $0 --remote ´ë»óip ftp°èÁ¤ ºñ¹Ð¹øÈ£ ´ë»ó°æ·Î ·ÎÄðæ·Î º¸°üÀϼö

        "
        exit 1
fi
if [ "$1" == "--local" ] ; then
########### delete ¿À·¡µÈ ¹é¾÷µ¥ÀÌÅÍ »èÁ¦
dirlists=`/bin/ls -t $backup_dir/data 2>/dev/null`
i=1
for dir in $dirlists ; do
  if [ "$i" -ge $backup_count ] ; then
    /bin/rm -rf "$backup_dir/data/$dir"
  fi
  i=$(($i+1))
done

################ »õ·Î¿î µð·ºÅ丮 »ý¼º ####
/bin/mkdir -p ${backup_dir}/data/$Today
cd ${backup_dir}/data/$Today

###########  home µð·ºÅ丮 º°,  »ç¿ëÀÚº°·Î ¹é¾÷À» ÇÑ´Ù.
for i in $home_dirs ; do
  dirlists=`/bin/ls -t /$i 2>/dev/null`
  for dir in $dirlists ; do
    tar cvfpz ${backup_dir}/data/$Today/$i.$dir.tar.gz /$i/$dir
  done
done

####### ±âŸ µð·ºÅ丮¸¦ ¹é¾÷ÇÑ´Ù
tar cvfpz ${backup_dir}/data/$Today/usr.local.tar.gz /usr/local
tar cvfpz ${backup_dir}/data/$Today/root.tar.gz /root
tar cvfpz ${backup_dir}/data/$Today/etc.tar.gz /etc
tar cvfpz ${backup_dir}/data/$Today/var.named.tar.gz /var/named
tar cvfpz ${backup_dir}/data/$Today/var.spool.mail.tar.gz /var/spool/mail

############# ¸µÅ©¸¦ ¸¸µé¾î ÁØ´Ù.####
rm -f /backup/today
ln -s ${backup_dir}/data/$Today /backup/today


  ÃßõÇÏ±â   ¸ñ·Ïº¸±â

Copyright 1999-2024 Zeroboard / skin by zero