shell脚本笔记(原创不断记录)
今天开始自己的shell脚本练习,刚好公司有太服务器,要时间对数据的cp是按月的:
考虑:首先寻找规律,发现都放置在/opt/www/aaa/ 里面有很多的2级和3级目录和文件,但我追踪要备份的是年月为文件名的格式:2015_06
这样的格式,首先我们不清楚这个目录下有多少这样的2015_06的子目录所以需要统计:
find /opt/www/aaa -name 2015_06 查看了下我要备份的地方#!/bi#admin fengtaotao Email:@qq.com
#Fri Jul :: 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
* * /root/bash/dbback.sh 没个月的1号 凌晨1点整开始备份
2.当然我也写了一个手动备份的脚本
#!/bin/bash
#admin fengtaotao Email:@qq.com
#Fri Jul :: CST
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文档,在里面写入我们需要备份的名称列表默认是换行为一个名称
shell脚本笔记(原创不断记录)的更多相关文章
- Shell脚本笔记
如何查询文件里的某个字符串? grep “字符串” 文件 例:grep "abc" tmp.txt 如何将查询出来的内容赋给变量? str=$(grep "abc ...
- Shell脚本笔记(七)控制Shell脚本
控制Shell脚本 一.处理信号 1) SIGHUP本信号在用户终端连接(正常或非正常)结束时发出, 通常是在终端的控制进程结束时, 通知同一session内的各个作业, 这时它们与控制终端不再关联. ...
- Shell脚本笔记(一)一些零碎的基础知识
一些零碎的基础知识 一.认识Shell脚本 一)相关概念 Shell是一种命令解释器,作用是按次序执行(遇到子脚本,先执行子脚本的命令)用户输入的命令和程序. Shell脚本语言是弱类型语言,与其他脚 ...
- Shell脚本笔记(二)Shell变量
Shell变量 一)全局环境变量 全局变量对于定义它的shell和其子shell都是可见的,但如果生成它的shell被终止,全局变量也就消失了.另外全局变量会被子shell的同名变量覆盖. #定义一个 ...
- Shell脚本笔记 1
函数别名 设置别名 alias name="command" alias ll="ls -laS" 取消别名 unalias name 求取数学表达式 valu ...
- Linux shell脚本笔记
shell 命令解释器 是用来解释用户对系统的操作 使用 cat /etc/shells 可以查看 系统安装的shell Linux 启动过程: BIOS -> MBR -> BootLo ...
- Shell脚本笔记(六)呈现数据
呈现数据 一.文件描述符 Linux系统将每个对象当做文件处理,这包括输入和输出进程.Linux用文件描述符来标识每个文件对象.每个进程最多可以有9个 文件描述符,bash shell保留了前三个文件 ...
- 学习shell脚本笔记
1.if 是单分支语句,使用格式如下: if condition ; then statement ….. fi 2.if … else 是双分支语句,使用格式如下: if condition ; t ...
- Shell脚本笔记(三)shell中的数学计算
shell中的数学计算 一.使用方括号 #!/bin/bash a= b= c= res=$[$a * ($c-$b)] echo $res 二.使用(()) +)) ((i=+)) b=$((-*) ...
随机推荐
- BZOJ2432 [Noi2011]兔农
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...
- Python基础5:列表 元祖 字典 集合
[ 列表] 列表(list)是Python以及其他语言中最常用到的数据结构之一.Python使用使用中括号 [ ] 来解析列表. 列表是可变的(mutable)——即:可以改变列表的内容. 相关操作: ...
- hdu 5023 线段树
成端更新+统计区间内的值 挺模板的题... 一开始没想起来用set统计,傻傻地去排序了[大雾 #include<iostream> #include<cstdio> #incl ...
- NetLink Communication Mechanism And Netlink Sourcecode Analysis
catalog . Netlink简介 . Netlink Function API Howto . Generic Netlink HOWTO kernel API . RFC Linux Netl ...
- 基本概率分布Basic Concept of Probability Distributions 2: Poisson Distribution
PDF version PMF A discrete random variable $X$ is said to have a Poisson distribution with parameter ...
- FZU 2193 So Hard (有限小数转换最简分数)(想法题)
题目链接: 传送门 So Hard Time Limit: 1000MS Memory Limit: 65536K 题目描述 请将有限小数化为最简分数. 输入 一个整数n 表示需要转化的小数个 ...
- JavaScript学习笔记——DOM_对document对象的内容、属性、样式的操作
javascript-对文档对象的内容.属性.样式的操作 一.操作内容 1. innerHTML 用来设置或获取对象起始和结束标签内的内容(识别html标签) 2. innerText 用来设置或获取 ...
- Eclipse学习笔记——快捷键
alt+/ 直接呼出要重写的方法 ctrl+1 快速修复(没导包,没抛出异常等等) ctrl+shift+o 导包 ctrl+shift+F 格式化代码块(自动给代码排版) alt+方向键 向前向后( ...
- C++常用的#include头文件总结
C++常用的#include头文件总结 这篇文章主要介绍了C++常用的#include头文件,对初学者理解C++程序设计大有好处的相关资料 本文详细罗列了C++所包含的头文件的名称及作用说明,比较 ...
- C++ Pointer-to-Member Selector
http://www.codeguru.com/cpp/cpp/article.php/c17401/C-Tutorial-PointertoMember-Function.htm https://m ...