Script


 

# /bin/bash
PATH=/bin:/usr/bin:/sbin:/usr/sbin; export PATH
export LANG=C

#參數修改
backupdir="/backup"                                # 想要備份的資料夾
targerdir="/backuptarger"                         # 暫存資料夾
host="XXX.XXX.XXX.XXX"                        # 遠端伺服器IP
id="user"                                        # 帳號  
pw='password"'                                    # 密碼
remotedir="/home/update/SQL"       #備份到遠端的哪裡?

#想要備份那些設定檔的存放路徑
#named=$backupdir/named
#postfixd=$backupdir/postfix
#vsftpd=$backupdir/vsftp
sshd=$backupdir/ssh
#sambad=$backupdir/samba
wwwd=$backupdir/www
#others=$backupdir/others
#userinfod=$backupdir/userinfo
pgsql=$backupdir/pgsql
userhome=$backupdir/userhome

#檢查目錄是否存在
for dirs in $backupdir $targerdir $sshd $wwwd $pgsql $userhome
do
    [ ! -d "$dirs" ] && mkdir -p $dirs
done

#cp -a /var/named/chroot/{etc,var}    $named
#cp -a /etc/postfix /etc/dovecot.conf    $postfixd
#cp -a /etc/vsftpd/*            $vsftpd
cp -a /etc/ssh/*            $sshd
#cp -a /etc/samba/*            $sambad
cp -a /etc/{php.ini,httpd}            $wwwd

cd /var/www
  tar -jpc -f $wwwd/html.tar.bz2     html cgi-bin
cd /var/lib/
  tar -jpc -f $pgsql/pgsql.tar.bz2    pgsql
cd /home/saga
  tar -jpc -f $userhome/saga.tar.bz2    public_html
cd /home/epopo
  tar -jpc -f $userhome/epopo.tar.bz2    public_html

##########################################################
                  

backupfile=backup.$(date +%Y-%m-%d).tar.bz2
cd /..
  tar -jpc -f $targerdir/$backupfile $(basename $backupdir)

cd $targerdir
ftp -n "$host" > ${targerdir}/../ftp.log 2>&1 << EOF
user $id $pw
binary
cd $remotedir
put $backupfile
bye
EOF

 


crontab  

30 3 * * 0 root 路徑/XXXX.sh      #每周3:30
30 2 * * * root 路徑/XXXX.sh      #每天2:30
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 blue sky 的頭像
    blue sky

    blue sky的life

    blue sky 發表在 痞客邦 留言(0) 人氣()