linux shell 脚本实现:根据文件内容中的每行分隔符放入数组,根据规则打印日志并重新创建目录 备份文件

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: linux shell 脚本实现:根据文件内容中的每行分隔符放入数组,根据规则打印日志并重新创建目录 备份文件

linux shell 脚本实现:根据文件内容中的每行分隔符放入数组,根据规则打印日志并重新创建目录 备份文件


#!/bin/bash
#业务实现:根据文件内容中的每行分隔符放入数组,根据规则打印日志并重新创建目录 备份文件
#
#文件名FilePath  文件内容如下  
#bjzhadmin1525416085913/chwj0.jpg,bjzhongh,2018,03
#boangnadmin1523867175489/chwj0.jpg,boang,2018,03
#boangnadmin1523867237581/chwj0.jpg,boangrb,2018,03
#cqdboadmin1523872400061/chwj0.jpg,cqdianb,2018,03
#dhstadmin1530240454562/chwj0.jpg,dahanst,2018,03
#datangadmin1526367335047/chwj0.jpg,datang,2018,03
#feitianadmin1522825520992/chwj0.png,feitian,2018,03
#fenghadmin1524627508674/chwj0.jpg,fenghou,2018,03
#gxadmin1525759701702/chwj0.jpg,gxhyllhz,2018,03
#gzyxnewadmin1523416077332/chwj0.jpg,gzyxnew,2018,03
#gzzqhbadmin1526366655878/chwj0.png,gzzqbmhz,2018,03
#hzjjadmin1542694022549/chwj0.jpg,hangzjj,2018,03
#hzltadmin1526267199291/chwj0.jpg,hangzlt,2018,03
#hzltadmin1526267239897/chwj0.jpg,hangzltds,2018,03


#循环读文件  line的值为每一行的信息
for line in `cat ./FilePath`
do
  #要将$a分割开,先存储旧的分隔符
  OLD_IFS="$line"
  #设置分隔符
  IFS="," 
  #如下会自动分隔 加入数组
  arr=($line)
  #根据数组下标判断文件是否存在
  if [[ ! -f /data/www/flowbilling/${arr[0]} ]];then
    #不存在则记录日志  更改路径为从服务器存放路径  后期手动更改文件名 chwj变量 改为 chfile变量
    echo "/home/www/flowbilling-report/TuikuanIamges/${arr[0]},${arr[1]},${arr[2]},${arr[3]}" >> qvdaoduizhangdan.txt
  #如果文件路径存在,将其放入新路径
  else 
    #创建目录 级联创建           参数代表着   chcode      年份     月份     去掉文件名后的目录
    #/data/www/flowbilling/chsettlement/chcode/年份/月份/filename/chwj变量.文件格式
    mkdir /data/www/flowbilling/chsettlement/${arr[1]}/${arr[2]}/${arr[3]}/${arr[0]%/*} -p
    #复制原文件 到新目录下
    cp /data/www/flowbilling/${arr[0]} /data/www/flowbilling/chsettlement/${arr[1]}/${arr[2]}/${arr[3]}/${arr[0]}
  fi
done

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
2月前
|
Java Shell
「sh脚步模版自取」测试线排查的三个脚本:启动、停止、重启、日志保存
「sh脚步模版自取」测试线排查的三个脚本:启动、停止、重启、日志保存
43 1
|
23天前
|
监控 数据挖掘 数据安全/隐私保护
Python脚本:自动化下载视频的日志记录
Python脚本:自动化下载视频的日志记录
|
1月前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
91 3
|
1月前
|
监控 关系型数据库 MySQL
Linux环境下MySQL数据库自动定时备份策略
在Linux环境下,MySQL数据库的自动定时备份是确保数据安全和可靠性的重要措施。通过设置定时任务,我们可以每天自动执行数据库备份,从而减少人为错误和提高数据恢复的效率。本文将详细介绍如何在Linux下实现MySQL数据库的自动定时备份。
44 3
|
2月前
|
监控 网络协议 安全
Linux系统日志管理
Linux系统日志管理
60 3
|
2月前
|
存储 安全 Shell
上传漏洞利用时,没有回显上传目录怎么连接shell
上传漏洞利用时,没有回显上传目录怎么连接shell
|
3月前
|
缓存 监控 算法
分析慢日志文件来优化 PHP 脚本的性能
分析慢日志文件来优化 PHP 脚本的性能
|
4月前
|
缓存 NoSQL Linux
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
142 1
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
|
2月前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控总结
Linux系统命令与网络,磁盘和日志监控总结
65 0
|
2月前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控三
Linux系统命令与网络,磁盘和日志监控三
45 0