tanggang1740 发表于 2018-8-23 13:22:24

Linux备份shell脚本

  每天备份
  # vim backupdaily.sh
  #!/bin/bash
  #
  # This program is created by JinYan 2012/07/06
  #
  # What is tis program?
  #This program will backup the following messages:
  #1. MySQL data files ( /var/lib/mysql);
  #2. HTTP's CGI-directory ( /var/www/cgi-bin )
  #
  # HOW TO RUN THIS PROGRAM?
  #Just put the file into /etc/crontab job,
  #or put this file's link file to /etc/cron.daily!
  #
  ##############################################################
  # History
  #DateWhatWho
  #
  # 20120706First time to run this program
  #The only backup files are MySQL and CGI JinYan
  #
  # 0. Get the date messages and backup directory
  day='date +%Y-%m-%d'
  basedir="/disk2/backup/daily"
  # 1.MySQL ( PATH = /var/lib/mysql )
  /etc/rc.d/init.d/mysqld stop
  cd /var/lib
  tar -zcf "$basedir"/mysql."$day".tar.gz mysql 2> /dev/null
  /etc/rc.d/init.d/mysqld start
  # 2.CGI ( PATH = /var/www/cgi-bin )
  cd /var/www
  tar -zcf "$basedir"/cgi-bin."$day".tar.gz cgi-bin 2> /dev/null
  每周备份
  # vim backupweekly.sh
  #!/bin/bash
  # Histoty
  # WhenWhoWhat

  # 20120706JinYanfirst time to>  # 20120706JinYanAdding ftp services' backup in /disk2/backup/ftp
  # 20120706JinYantar -p
  # 20120706JinYansleep sync
  PATH=/bin:/usr/bin:/sbin:usr/sbin; export PATH
  LANG=C; export LANG
  LC_ALL=C; export LC_ALL
  # backup path
  basedir=/disk2/backup
  named=$basedir/named
  postfixd=$basedir/postfix
  vsftpd=$basedir/vsftp
  sshd=$basedir/ssh
  sambad=$basedir/samba
  wwwd=$basedir/www
  others=$basedir/others
  userinfod=$basedir/userinfo
  # 1. System Services:
  #(1) BIND server:
  #(2) Postfix:
  #(3) vsftp:
  #(4) sshd:
  #(5) samba:
  #(6) WWW:
  #(7) Others:
  # 1.1 BIND,DNS
  cp -a /var/named/chroot/etc$named/chroot
  cp -a /var/named/chroot/var$named/chroot
  # 1.2 Postfix Server
  cp -a /etc/postfix/*$postfixd 2> /dev/null
  cp -a /etc/rc.d/init.d/postfix$postfixd
  cp -a /etc/dovecot.conf$postfixd
  # 1.3 vsftp Server
  cp -a /etc/vsftpd/*$vsftpd
  cp -a /etc/vsftpd.*$vsftpd
  # 1.4 sshd Server
  cp -a /etc/ssh/*$sshd
  # 1.5 Samba Files
  cp -a /etc/samba/*$sambad
  # 1.6 WWW
  cp -a /etc/my.cnf$wwwd
  cp -a /etc/php.ini$wwwd
  cp -a /etc/httpd/conf/httpd.conf$wwwd
  cp -a /etc/httpd/conf.d$wwwd
  cp -a /etc/httpd/conf.d/jinyan.conf*$wwwd
  cd /usr/local
  tar -pcf $wwwd/counter-data.tar Counter/data
  cd /var/lib
  tar -pcf $wwwd/mysql-lib.tar mysql --exclude mysql/mysql.sock
  cd /var
  tar -pcf $wwwd/www-cgi-icon.tar www/cgi-bin www/icons
  # 1.7 Others
  cp -a /etc/hosts$others
  cp -a /etc/hosts.allow$others
  cp -a /etc/hosts.deny$others
  cp -a /etc/modprobe.conf*$others
  cp -a /etc/fstab$others
  cp -a /etc/resolv.conf$others
  cp -a /etc/shells$others
  cp -a /etc/wgetrc$others
  cp -a /etc/crontab$others
  cp -a /etc/sysconfig/il8n$others
  cp -a /etc/sysconfig/network$others
  cp -a /etc/sysconfig/network-scripts/ifcfg-eth0$others
  cd /
  tar -pcf $others/etc.tar etc
  cd /usr
  tar -pcf $others/local.tar local
  sleep $s
  sync; sync
  # 2. Host of important data and database system
  # /etc/passwd, shadow, group, email, /home
  # 2.1
  cp -a /etc/passwd$userinfod
  cp -a /etc/shadow$userinfod
  cp -a /etc/group$userinfod
  cd /var/spool
  tar -pcf $userinfod/mail.tar mail
  cd /
  tar -pcf $userinfod/home.tar home --exclude home/lost+found
  sleep 5s
  sync; sync
  # 3 ftp 192.168.1.100
  # 3.1 tar
  cd $basedir
  tar -zpcf backupweekly.tar.gz * --exclude backupweekly.tar.gz
  sleep 5s
  sync; sync
  # 3.2 ftp 192.168.1.100
  id="username"
  pw='yourpasswd'
  cd $basedir
  ftp -n 192.168.1.100 > $basedir/backup.ftp.log 2>&1 ############################################################## 1. input your FTP's>host="192.168.1.100" >pw='your passwd' # 2. what is the correct and remote working directorybasedir="/disk2/backup"#host pathremodir="/disk2/backup_testinghost"#remote directory # 3. the tar filefilename="backup.testinghost.tar" # 4. starting tar workcd $basedirtar -cvf $filename * ############################################################### 5. ftpftp -n "$host" > "$basedir"/"$filename".log 2>&1
页: [1]
查看完整版本: Linux备份shell脚本