`

Linux下的文件备份脚本

阅读更多

#!/bin/sh
# backup selected partitions
#
## Note: added --exclude '*.iso' to tar command to exclude ISO DVDs & CDs.

#
# SITE SPECIFIC CONTENT
#

DEST="/home/backup"
# SOURCE="/home/www/cgi-bin /home/www/html/abbot /home/somebody"
cd /home
SOURCE=`ls /home |fgrep -v docs| fgrep -v lost | fgrep -v downloads |fgrep -v AL.tar.gz|fgrep -v MZ.tar.gz| fgrep -vi software | fgrep -v tmp|fgrep -v opt|fgrep -v recycle`
SOURCE="${SOURCE} /var/www/html"

## Daily updates only have files modified in last 2 days 
## so they take up less space

#
# Check for ARGC
# $0 -> daily backup
# $0 weekly -> weekly backup
# actually we just check for the existance of any argument and assume weekly
if (expr $# '>' 0 >/dev/null) then {
  PREFIX="weekly"
  rm -f ${DEST}/*daily*
  FILELIST="."
  UPDATE=""
} else {
  PREFIX="daily_update"
  UPDATE="/tmp/filez"
  FILELIST="-T /tmp/filez"
  DAYS=2
} fi

#
# Get the date
DATE=`/bin/date '+%Y%m%d'`

# cleanup caches and stuff
#rm -f ${i}/.netscape/cache/??/*
#rm -f ${i}/.netscape/cache/??/*
#rm -f ${i}/.kde/share/cache/http/?/*

# renice
# /usr/bin/renice +12 $$

#
# Archive directories listed in ${SOURCE}
for i in ${SOURCE}
do

  cd "/home/$i" || continue
  BASE=`basename $i`
  FILE="${DEST}/${DATE}_${PREFIX}_${BASE}";
  ## Daily Updates: non-cache, non-dir files modified in the last 2 days
  test -n "${UPDATE}" &&
  find -mtime -$DAYS \! -type d | fgrep -i -v cache > "$UPDATE"
  test -n "${UPDATE}" -a \! -s "${UPDATE}" &&
  echo "No updates for directory $i" &&
  continue
  echo "Creating archive ${FILE}"
  tar czf - ${FILELIST} >"${FILE}.tar.gz" --exclude '*.iso' --exclude MyPictures
  # sleep 240
  test -f "${UPDATE}" && rm -f "${UPDATE}"
done

# backup databases in mysql
DB="dbone dbtwo "
for i in ${DB}
do
  FILE="${DEST}/${DATE}_${PREFIX}_mysql_${i}.sql"
  echo "Creating SQL archive ${FILE}"
  mysqldump -u username "${i}" >"${FILE}"
  gzip "${FILE}"
done

分享到:
评论

相关推荐

    Linux下Mysql自动备份脚本

    Linux下自动备份Mysql文件shell脚本。

    Linux shell文件备份脚本

    该脚本可配合定时任务实现定期备份文件、并删除久远备份文件,脚本中使用“年月日时分”作为备份文件名,并以此作为判断来配合设置的diff值删除久远的备份文件,脚本中删除备份时间大于一天的备份文件。

    linux每日自动备份脚本

    linux每日自动备份脚本,该脚本backupday.sh用来每日备份你需要备份的文件或目录

    linux下自动备份数据脚本

    linux下自动备份数据文件脚本,只需要修改日期,按日期备份,定时删除。

    Linux oracle 自动备份脚本

    本文详细介绍了一个适用于Linux环境下的Oracle数据库自动备份脚本,包括了环境配置、备份执行、旧备份清理及定时任务设置等多个方面。通过对该脚本的学习和实践,不仅可以提高数据库管理员的工作效率,还能有效提升...

    Linux 下数据库备份脚本

    - 将备份脚本保存为`.sh`文件,例如命名为`backup_oracle.sh`。 - 设置执行权限,通过`chmod +x backup_oracle.sh`命令使脚本可执行。 #### 三、使用`exp`进行数据库备份 1. **脚本内容**: ```bash #!/bin/...

    postgresql数据库定时备份脚本(linux)

    以下是对“postgresql数据库定时备份脚本(linux)”这一主题的详细讲解。 一、PostgreSQL备份类型 1. **完整备份**:包含所有数据库对象,如表、索引、视图等。 2. **增量备份**:基于上一次完整备份,仅备份自...

    linux环境下oracle备份脚本

    本文将详细介绍如何编写和执行Linux下的Oracle备份脚本,包括全备、增量备份以及对应的CRONTAB定时任务设置。 首先,Oracle备份主要依赖于RMAN(Recovery Manager)工具,它提供了多种备份类型和策略。在提供的脚本...

    Linux平台Mysql自动备份脚本

    本文将详细介绍一个适用于Linux平台下的MySQL自动备份脚本。通过该脚本,可以实现MySQL数据库的定时备份,并按照一定规则管理备份文件,确保数据安全的同时减少磁盘空间占用。 #### 二、备份脚本结构分析 ##### ...

    linux自动备份文件 并上传到远程服务器 脚本实现

    接下来编写备份脚本,示例脚本如下: ```sh #!/bin/sh dateTime=`date +%Y_%m_%d` # 获取当前系统日期 days=7 # 删除7天前的备份 orowner=bakuser # 备份所有者 bakdescdir=/DATA/bakmdata # 备份目标目录 bakdata=$...

    linux mysql定时备份脚本

    本文将详细介绍如何利用shell脚本来创建MySQL的定时备份,并结合提供的"mysqlbackup.sh"脚本和"添加定时任务.txt"文件,帮助你实现这一功能。 首先,我们来看"mysqlbackup.sh"这个shell脚本。这个脚本通常包含以下...

    Oracle备份脚本(Linux)

    Oracle 备份脚本(Linux) 这篇文章将详细介绍 Oracle 备份脚本在 Linux 系统中的实现,包括备份脚本的编写、备份目录的设置、备份日志的记录、磁盘空间的检查、远程服务器的备份等多个方面。 备份脚本的编写 备份...

    linux下oracle数据库备份的脚本文件

    Oracle数据库备份脚本文件在Linux平台下的实现 在 Linux 操作系统中,Oracle 数据库的备份是至关重要的一步骤,以确保数据的安全和完整性。为实现 Oracle 数据库的备份,我们可以使用脚本文件来自动化备份过程。在...

    文件自动备份脚本ForLinuxWithSVN

    "文件自动备份脚本ForLinuxWithSVN"就是一个这样的解决方案,它结合了Linux操作系统和Subversion(SVN)版本控制系统,实现了文件的自动、增量备份,以达到高效且节省资源的目的。 首先,让我们了解Linux系统。...

    Linux下定时备份MySQL数据库的Shell脚本.pdf

    例如,以下命令表示每天凌晨3点执行备份脚本: ``` 0 3 * * * root /usr/sbin/DataBackup ``` #### 四、注意事项 - **变量定义**:Linux下的Shell脚本定义变量时,变量名与等号之间不能有空格。 - **特殊字符**...

    linux自动备份sh脚本

    在Linux系统中,编写自动化备份脚本是一种常见且重要的任务,尤其对于服务器管理和维护来说,定期备份数据可以确保数据安全,防止意外丢失。本篇将详细介绍如何创建一个名为"linux备份sh脚本.sh"的shell脚本来实现...

    Linux下定时备份文件.zip_数据库定时备份

    4. `1`:这个文件名不完整,可能是其他步骤或文件的一部分,例如备份脚本或配置文件。 在Linux下创建数据库备份,通常会涉及以下几个步骤: 1. **编写备份脚本**(如`backup.sh`):这个脚本可能包含了备份数据库...

    DB2自动备份脚本(window和linux)测试通过版本

    "DB2自动备份脚本(window和linux)测试通过版本"是一个针对两种主流操作系统——Windows和Linux设计的自动化备份解决方案。 在Windows系统中,DB2备份通常通过命令行工具db2cmd或db2backup执行。脚本可能包含以下...

    windows&linux svn自动化全备份&增量备份脚本

    - **linux下-SVN全量和增量备份脚本.docx**:这份文档可能包含了详细的Linux环境下编写SVN备份脚本的步骤和示例代码。 - **svnBackupBat.rar**:这是一个Windows批处理脚本的压缩包,可能包含全备份和增量备份的bat...

    Linux+ftp+自动上传备份文件脚本

    本文主要涉及如何在Linux环境下使用FTP自动上传备份文件,并实现定期备份和清理策略。以下是详细的知识点解析: 1. **RMAN备份**: RMAN(Recovery Manager)是Oracle数据库的备份和恢复工具,它可以创建数据库、...

Global site tag (gtag.js) - Google Analytics