linux下备份、打包、FTP上传的自动化SHELL脚本。按日期分文件夹备份,包括文件、数据等。可以通过ftp备份到远程服务器实现异地备份
#!/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 rm -f *