linux下备份、打包、FTP上传的自动化SHELL脚本

linux下备份、打包、FTP上传的自动化SHELL脚本。按日期分文件夹备份,包括文件、数据等。可以通过ftp备份到远程服务器实现异地备份
 

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/bin/bash
dd =` date -d '1 day ago' +%Y-%m-%d`
dm=` date -d '1 week ago' +%Y-%m-%d`
  
cd /data/backup/files
if [ ! ` pwd ` = '/data/backup/files' ]; then
  echo 'change file faild'
  exit 0
fi
  
if [ ` date -d '1 day ago' +%d` = 15 ]; then #every first day of month, backup all files
  tar --exclude www /attachments --exclude www /cache -C /var/ -czf weball. tar .gz www
else
  tar -N $dm --exclude www /attachments --exclude www /cache -C /var/ -czf web. tar .gz www
fi
#database
mysqldump -ubackup -pxxxxxx --opt --default-character- set =gbk --add-drop-database --database mysite mysql > mysql.sql
tar czf mysql. tar .gz mysql.sql
rm -f mysql.sql
  
#transfer to remote server
ftp -n -i << EOF
open ftp .domain.com
user username xxxxxxxx
lcd /data/backup/files
cd /
mkdir $ dd
cd $ dd
mput *
quit
EOF
  
#delete files

 

你可能感兴趣的:(linux,备份,打包,FTP上传,自动化SHELL脚本)