美文网首页
shell多并发数据拷贝脚本

shell多并发数据拷贝脚本

作者: 鸟它鸟 | 来源:发表于2018-04-17 21:59 被阅读0次
#! /bin/bash
tempfifo=$$.fifo

#获取同步路径
sdir=$1
ddir=$2
#ddir=${ddir%/*}
dirfile=/tmp/dirfile.txt
file_f=/tmp/file_f.txt
file_l=/tmp/file_l.txt



echo "获取源数据信息"
find ${sdir} -type d >${dirfile}
find ${sdir} -type f >${file_f}
find ${sdir} -type l >${file_l}
echo "获取源数据信息完成"


echo "建立目录中"
trap "exec 1000>&-;exec 1000<&-;exit 0" 2
mkfifo $tempfifo
exec 1000<>$tempfifo
rm -rf $tempfifo

for ((i=1; i<=1000; i++))
do
    echo >&1000
done

while read fileurl
do
    read -u1000
    {
        echo mkdir: ${ddir}${fileurl}
        mkdir -p ${ddir}${fileurl}
    echo >&1000
    } &
done <${dirfile}
echo "目录建立完成"

echo "同步正常文件"
while read fileurl
do
    read -u1000
    {
    echo sync: ${fileurl}
        /bin/cp -a ${fileurl} ${ddir}${fileurl}
        echo >&1000
    } &
done <${file_f}
echo "同步正常文件完成"

echo "同步链接文件"
while read fileurl
do
    read -u1000
    {
    echo sync: ${fileurl}
        /bin/cp -ad ${fileurl} ${ddir}${fileurl}
        echo >&1000
    } &
done <${file_l}
echo "同步链接文件完成"

wait
exec 1000>&-
exit 0

相关文章

  • shell多并发数据拷贝脚本

  • Gitlab

    文件备份指令 ls /Var/opt/gitlab/backups 建议使用shell脚本和crontab定期拷贝...

  • 第6次课-Shell脚本语言-第6讲

    内容一:Shell脚本->数据库SQL语句->基础(回顾) 内容二:Shell脚本语言->数据库操作->在Shel...

  • IOS 数据源同步问题方案

    目的 解决UI刷新错乱的问题 解决方案 1.并发访问 数据拷贝 2.串行访问 并发访问 数据拷贝 也就是说 数据拷...

  • Ubuntu开机启动shell脚本

    编写shell脚本 touch factory_start.sh 拷贝到/etc/init.d/目录下 sudo ...

  • shell中的sql操作

    在编写shell脚本的时候,可能会遇到操作mysql数据库的情况。下面介绍如何在shell脚本中操作mysql数据...

  • shell脚本 for循环拷贝文件

    一、描述 需求: 将多个文件拷贝至不同的用户文件夹下,并且用户有对文件的操作权限 二、代码详情 代码详解语法格式:...

  • iOS知识点汇总

    UI试图 UITableView相关 1.cell的复用2.数据源同步: 并发访问、数据拷贝(缺点:拷贝数据产生内...

  • Linux shell 实现队列并发任务

    Linux shell 实现队列并发任务 新建测试脚本: 执行测试: 原文参考:https://blogs.wl4...

  • 宝塔crontab使用笔记!

    Shell脚本 选择Shell脚本,执行周期设置每月17日9时0分,脚本内容是使用微信消息模板批量推送,用户数据太...

网友评论

      本文标题:shell多并发数据拷贝脚本

      本文链接:https://www.haomeiwen.com/subject/xjfmkftx.html