zoukankan      html  css  js  c++  java
  • shell脚本笔记(原创不断记录)

    今天开始自己的shell脚本练习,刚好公司有太服务器,要时间对数据的cp是按月的:

    考虑:首先寻找规律,发现都放置在/opt/www/aaa/  里面有很多的2级和3级目录和文件,但我追踪要备份的是年月为文件名的格式:2015_06

    这样的格式,首先我们不清楚这个目录下有多少这样的2015_06的子目录所以需要统计:

    find /opt/www/aaa -name 2015_06 查看了下我要备份的地方#!/bi#admin fengtaotao Email:23956580@qq.com

    #Fri Jul  3 16:35:48 CST 2015   
    pathh=/opt/www/acc/musicFile/    @首先定义的是源文件路径 
    pathd=/opt2/musicFile/       @要备份到的路径
    datem=`date +%m`          @这里我定义一个当前月的显示 原因是我在crontab中是要备份的是上个月的
    #getMonth              @简单的注释  我喜欢吧注释写在行代码下面
    if [ "$datem" == 01 ];then       @当前月是1月份那么当前年-1从而备份去年的12月份
      datem="_12"           @如果 当前月是1月份 那么僵变量修改为12月份
      datey=`date +%Y`
      datey=$(($datey-1))       @将年份改为去年 这样就是去年的12月份
    else
      datem="_0$(($datem-1))"   datey
    =`date +%Y`          @考虑到每年的1月份要备份去年的 fi
    #getFullYear

    dird="$datey$datem" #echo "$dird" readd=`date +%N`.txt find $pathh -name $dird &>> $readd for i in $(cat $readd);do aac=$(echo $i | awk -F "/" '{print $6"/"$7"/"}') aac=${pathd}${aac} cp -r $i $aac &>> dbcp.log done rm -rf $readd

    OK  接下来修改下权限和crontab 的定时

    chmod u+x dbback.sh
    crontab -e
    0 1 1 * * /root/bash/dbback.sh
    
    
    没个月的1号 凌晨1点整开始备份

    2.当然我也写了一个手动备份的脚本

    #!/bin/bash
    #admin fengtaotao Email:23956580@qq.com
    #Fri Jul  3 16:35:48 CST 2015
    pathh=/opt/www/acce/musicFile/
    pathd=/opt2/musicFile/
    touch ulist.txt
    readd=ulist.txt
    
    for a in $(cat list.txt);do
    
        find $pathh -name $a &>> $readd
    done
    
    for i in $(cat $readd);do
        aac=$(echo $i | awk -F "/" '{print $6"/"$7"/"}')
        aac=${pathd}${aac}
        cp -r $i $aac &>>dbcp.log
    done
    
    rm -rf $readd

    这个我们可以再脚本的同目录下 创建一个list.txt文档,在里面写入我们需要备份的名称列表默认是换行为一个名称

  • 相关阅读:
    sql 一对多变成一对多的最后一条记录的做法
    2.如何优化操作大数据量数据库(改善SQL语句)
    asp数据操作类DB
    4.如何优化操作大数据量数据库(几十万以上数据)(如何选择聚合索引)
    【转】asp中记录集对象的getrows和getstring用法
    用DB类写新闻系统1
    Apache+Tomcat配置负载均衡
    C# CAD 几何图形周围创建尽可能小的圆 使用 .NET 在 2D AutoCAD
    C# Cad 2007 工具栏 工具条创建
    C# Cad 拉伸 关键 GetStretchPoints MoveStretchPointsAt
  • 原文地址:https://www.cnblogs.com/patf/p/4619599.html
Copyright © 2011-2022 走看看