一文件备份脚本

1、文件备份脚本

功能:利用此脚本要以对系统中的文件、目录进行备份,备份后的文件以gzip方式压缩,并以日期来标记备份日期,把备份的文件或目录的名称记录下写入日志文件,以便查看。

脚本内容如下

#!/bin/sh
#Description: This shell script backup point file to target by date.
#Author: Jason
#Time: 2015-2-26
#Version: 1.0
#Processname: backupfile.sh

#SYNOPSIS
# sh script source-file target-directory

#example
#sh backupfile.sh /etc /backup  表示备份/etc这个目录到/backup中

#声明一些变量
DATE=$(/bin/date +%Y%m%d)
SOURCE=$1 #备份目录
TARGET=$2 #数据的备份目标
BASENAME=$(basename "$1")
DIRNAME=$(dirname "$1")

#检查备份目录是否存在,不存在则是创建
/usr/bin/test -d $2 || /bin/mkdir -pv $2

cd $DIRNAME

#开始备份操作
echo -n "正在备份$1..."
/bin/tar -cpPf /$2/$BASENAME.$DATE.tar $BASENAME 1> /dev/null 2>> /$2/$BASENAME.back.log
/bin/gzip /$2/$BASENAME.$DATE.tar
if [ $? -eq 0 ];then
        echo "backup directory or file is $1" >> /$2/$BASENAME.back.log   #声明备份的数据是什么
        echo "$1 $DATE backup successfully" >> /$2/$BASENAME.back.log
        echo -e "\e[1;32m\t\t\t\t\t[成功]\e[0m"
   else
        echo "ERROR:failure $1 $DATE backup!" >> /$2/$BASENAME.back.log
        echo -e "\e[1;31m\t\t\t\t\t[失败]\e[0m"
fi

2、系统某服务监控脚本

功能:若一服务器上的一个服务因不明原因不定时的死掉,或是因访问压力过大,或是其他原因导致,而又在此时不能停止服务太久,那写一个脚本来监控此服务,当发现此服务器停止工作时,那就自动启动之。

脚本内容如下:

#!/bin/sh
#Description: This shell script monitoring a specify service,if it does not work,then start it.  
#Author: Jason
#Time: 2015-2-26
#Processname: monitor.sh
#Version: 1.0

Servicename=vsftpd
Servicepid=$(/usr/bin/pgrep vsftpd)

    if [ "$Servicepid" != "" ];then
        echo "The $Servicename is running."
    else
        echo "The $Servicename is not running."
        /etc/rc.d/init.d/vsftpd start
    fi

总结:脚本虽好,但要结合crontab才能体现出它的自动化。

时间: 2024-10-29 05:17:10

一文件备份脚本的相关文章

Python:简单的文件备份脚本

文件备份脚本,实现了按照日期归类,时间建备份文件的功能,还能加入用户的备注信息. #!/usr/bin/python #Filename:backup_ver3.py import os import time #1.source file which to be backed up. source = ['/home/shibo/Code'] #2.target path which are backed up to. target_dir = '/home/shibo/backup/' #3

Linux 文件备份脚本

date_time:备份时间 backup_dir:备份到那个目录 backup_log:备份成功的log文件 err_log:备份失败的log文件 注意: 1.备份前,先cd到目标目录所在的父目录,然后执行zip命令. 2.log文件不要放在存放备份数据的目录,因为最后一条命令是删除15以前的文件,会将log文件删掉 脚本如下: #!/bin/bash date_time=`date +"%Y%m%d%H%M"` backup_dir=/data/backup/svn_backup

本地文件备份脚本

#!/bin/bash #备份脚本 保留最近30天的备份 PRO_DIRS=/var/resin/webapps/COSAPI BAK_DIRS=/data/cos_backup DATE_DAY=30 BAK_FILE_DATE=`date +%Y%m%d%H%M-%S` if [ ! -d ${BAK_DIRS} ];then mkdir -p ${BAK_DIRS} #else # echo "Directory exsits" fi cd $(dirname ${PRO_DIR

创建RMAN备份 恢复目录数据库

这是前段时间给客户做的RMAN备份策略,今天有时间整理出来,希望对大家有些帮助,如有不对的地方欢迎大家给予指点,谢谢!   创建成恢复目录数据库 如果不是在本地配置RMAN 恢复目录, 在一台WINDOW2000电脑上安装ORACLE数据库,最好保证数据库版本与目标数据库的版本想同. 建立RMAN 数据库用户及表空间: RECOVER CATALOG 表空间(cattbs):1G系统表空间:       100MUNDO表空间:     100M临时表空间(TEMP):        100M 

一键部署rysnc实现全网备份

需要的工具:ansible 批量管理工具 思路: 实现一键自动化安装好rysnc备份服务器,实现全网备份 rysnc配置文件,是在管理机上,推送到我们的rysnc服务器上的,所以我们可以随时可以在管理机修改我们的rysnc服务器上的配置文件 rysnc配置文件写两个模块 backup nfsbakcup 就是两个备份共享的目录 backup    共享目录是存放全网备份的数据 nfsbackup共享目录是备份我们nfs服器上的数据实现实时同步 客户端需要向rsync备份服务器推送数据,一天一次,

Etcd单节点扩容为三节点集群

参考文档 http://www.cnblogs.com/breg/p/5728237.html 开始环境是单节点,存储数据一段时间后发现需要集群高可用环境,幸亏etcd支持在线扩容 1,修改单节点配置并重启etcd [[email protected] etcd]# cat /etc/etcd/etcd.conf ETCD_NAME=k8s1 ETCD_DATA_DIR="/data/etcd" ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:

Cobbler无人值守安装centos6.9

1.1 Cobbler集成的服务 PXE服务支持 DHCP服务管理 DNS服务管理(可选bind,dnsmasq) 电源管理 Kickstart服务支持 YUM仓库管理 TFTP(PXE启动时需要) Apache(提供kickstart的安装源,并提供定制化的kickstart配置) #配置阿里云的epel源wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo yum -y install dh

5、Oracle备份

1.1 Oracle数据库备份 1.1.1 链接Oracle介质管理库 请在数据库节点上操作. [[email protected]/usr/openv/netbackup/bin]$ ./oracle_link Thu Jul  9 14:35:44 CST 2015 All Oracle instances should be shutdown before running this script. Please log into the Unix system as the Oracle

shell脚本--系统文件备份之脚本分析

以下的脚本最主要的一条命令就是: cd $TARGET_DIR/$YEAR/$MONTH/$DAY ;tar -g $TARGET_DIR/snapshot -czvf $FILES ${SOURCE_DIR[@]} ##创建好的备份目录中,执行备份命令,以下就是一个完整的命令例子: tar -g /tmp/snapshot -czvf /tmp/2017_full_sysbak.tar.gz /data/sh ##第一次创建快照完整备份,将/data/sh目录打包压缩到/tmp/下并保存为20