`

shell自动同步移动文件脚本

 
阅读更多

在企业中,服务器很多,又要做到集群,比如说网站目录,做到同步。在刚搭建环境的时候不可能一个文件一个文件的去写或者一个一个的拷到服务器上,我这儿呢就写了一个自动移动文件的脚本,把需要的文件复制到刚搭建的服务器即可。

#!/bin/bash
#Auto change server files
#Author kanghui 2016-06-17
#Source server 192.168.33.10
#Target server 192.168.33.14
if      [ ! -f ip.txt ];then
        echo -e "\033[33mplease create ip.txt files,the ip.txt contents as follows: \033[0m"
cat <<EOF
192.168.149.128
192.168.149.129
EOF
        exit
fi

if
        [ -z "$1" ];then
#这个会提示你出入源文件目录目录,这儿我们可以做一个免秘钥登陆
#ssh-keygen 一直回车,然后把秘钥拷贝到目标服务器上
#ssh-copy-id -i /root/.ssh.id_rsa.pub 192.168.33.14 回车yes就不会再输入密码了
#ssh-copy-id -i /root/.ssh.id_rsa.pub 192.168.33.10 在本机也执行这条命令
#然后执行脚本 install.log /tmp (install.log 是源文件 /tmp是目标目录,是不是超级简单)
        echo -e "\033[32m usage: $0 command ,example{Src_Files|Src_Dir} \033[0m"
        exit
fi
count=`cat ip.txt |wc -l`
rm -rf ip.txt.swp
i=0
#i小于count 那就执行里面的命令,0满足了要求然后+1
while ((i< $count)) 
do

i=`expr $i + 1`
#打印这一行,在他前面添加标记,就是1 
sed "${i}s/^/&${i} /g" ip.txt >>ip.txt.swp
IP=`awk -v I="$i" '{if(I=$1)print $2}' ip.txt.swp`
scp -f $1 root@${IP}:$2
#下面这调代码是让两个目录保持一致,如果要使用下面这条那就把上面这条注释掉开启下面这条即可
#比如执行命令sh auto_scp.sh /tmp/ /tmp/ 这儿时原目录和目标目录,如果提示命令没找到那就yu个rsync即可
#rsync -aP --delete $1 root@${IP}:$2
done

 

 

 

或者



 

  • 大小: 107.6 KB
1
4
分享到:
评论

相关推荐

    shell 常用脚本收集

    该脚本使用 mv 命令来将原来的日志文件移动到一个新的文件中,文件名格式为 access.月-日.log。接着,脚本使用 kill 命令来 reload Nginx 服务,确保新的日志文件被使用。这个脚本可以帮助用户快速切割日志,提高...

    我的几个常用shell脚本

    在文件管理方面,Shell脚本可以自动处理大量文件和目录。例如,一个脚本可以遍历指定目录下的所有子目录,查找特定类型的文件: ```bash #!/bin/bash # 遍历当前目录及其子目录,查找.txt文件 find . -name "*.txt...

    shell中反向删除文件

    至于标签中的"源码"和"工具",它们可能是指使用shell脚本自动化文件管理,或者使用特定工具(如上述提到的TestDisk)进行数据恢复。在IT行业中,编写源码脚本自动化重复性任务,以及熟练使用各种工具解决问题,都是...

    shell脚本可配置化备份文件夹及子文件.rar

    在这个特定的场景中,shell脚本用于备份文件夹和其子文件,这通常涉及到复制或移动操作,以及可能的时间戳或版本控制。 1. **备份策略**:备份的基本原则包括全量备份和增量/差异备份。全量备份会复制所有指定的...

    ssh文件上传下载ssh文件上传下载

    对于频繁的文件传输任务,可以编写shell脚本自动化过程。在脚本中包含scp或sftp命令,通过cron定时任务定期执行,实现无人值守的文件同步。 5. **安全注意事项**: - 保持SSH配置的最新状态,避免使用默认端口...

    数据库备份Shell脚本.zip

    Shell脚本是一种在Unix或Linux系统中使用的自动化命令集合。在数据库备份场景中,Shell脚本可以编写成定期任务,通过cron job执行,实现定时自动备份。脚本通常包含变量定义、条件判断、循环结构以及调用外部命令等...

    zookeeper自动化安装脚本

    本文将深入解析使用shell脚本自动化安装Zookeeper-3.4.6的过程,以及这个过程中涉及的关键知识点。 一、Zookeeper的功能与应用 Zookeeper的主要功能包括: 1. 命名服务:为分布式应用中的组件分配全局唯一ID。 2. ...

    复制移动文件小工具,一变二

    标题中的“复制移动文件小工具,一变二”指的是一个软件或脚本程序,它的主要功能是能够将指定文件夹内的文件便捷地复制或移动到两个不同的目标文件夹。这样的工具在日常工作中非常实用,特别是在需要备份数据或者...

    同步两个不同的文件系统

    当inotify监测到源文件系统有变化时,会自动触发rsync命令,将改动同步到目标文件系统。这种方式避免了不必要的周期性检查,只有在实际有变化时才进行同步,节省了系统资源。 **远程同步**: rsync不仅支持本地同步...

    inotify和rsync实现文件同步.zip

    本文将深入探讨如何使用`inotify-tools`和`rsync`这两个工具来实现文件的实时同步,以及如何结合`shell`脚本来自动化这一过程。 `inotify-tools`是一个用于Linux内核`inotify`接口的用户空间工具集。`inotify`提供...

    批量脚本工具batchtool

    批量脚本主要基于命令行界面,通过编写脚本文件来执行一系列指令。这些脚本通常使用批处理语言(如Windows的CMD批处理或Linux的Shell脚本)编写,能够自动完成诸如文件操作、系统设置、数据处理等任务。在batchtool...

    rsync + inotify 实现异地文件数据同步

    4. **自动化脚本**:通过编写shell脚本,可以结合inotifywait和rsync,实现文件改变后自动触发同步,确保数据一致性。 例如,以下是一个简单的示例脚本,当监控目录有变化时,使用rsync同步到远程服务器: ```bash...

    Linux 系统测试硬盘性能shell 脚本

    `of=tempfile`是写入的目标文件,`bs=1M`表示每次读取或写入1MB的数据,`count=1024`表示进行1024次这样的操作,`conv=fdatasync`确保写入操作在退出时同步到磁盘。写入操作完成后,脚本会删除临时文件`tempfile`。 ...

    s3_sync:使用 inotifywatch 自动将目录与 S3 同步的 Bash 脚本

    S3 同步 (s3_sync)描述S3 Sync 是一个 bash 脚本,它将利用 inotify linux 内核实用程序和 s3cmd 在您的本地目录和 Amazon S3 之间设置自动同步。 它还可以通过 cron 从您的 S3 存储桶同步到本地目录。 由于重复的 ...

    一段服务器管理的linux的shell程序

    在服务器管理中,脚本可能会包括自动备份和恢复策略,比如使用`tar`命令创建备份文件,或者使用`rsync`同步数据到其他存储位置。网络管理也是常见需求,可能包含`ping`、`netstat`、`ifconfig`等命令,用于检查网络...

    inotify + rsync实现linux文件实时同步.doc

    在 Shell 脚本中,你可以用它来响应特定的文件系统事件。 2. `inotifywatch`:用于收集被监控文件系统的统计信息,例如每个 `inotify` 事件发生的次数。 安装 `inotify-tools` 通常需要从源代码编译,可以访问 ...

    移 动 文 件.rar

    同时,文件同步服务(如Dropbox, OneDrive)能够自动同步移动的文件,确保不同设备上的文件一致性。 8. **安全性与权限**:在移动文件时,必须注意权限设置,确保操作者有足够权限进行移动。此外,安全性的考虑包括...

    有用的脚本:Linux或macOS上的有用的Shell脚本

    3. 文件同步脚本:使用rsync实现本地或远程文件夹的同步。 4. 网络检测脚本:检查网络连接速度和可用性。 5. 定时任务脚本:使用cron定时执行特定任务。 六、学习资源与实践 - 学习资料:《Advanced Bash-Scripting...

    linux-EternalTerminal一个远程shell在不中断会话的情况下自动重新连接

    2. **自动化运维**:系统管理员在执行自动化脚本或监控任务时,ET可以避免因为网络波动导致的中断,保证任务的连续性。 3. **移动办公**:对于经常在不同网络环境下工作的用户,ET提供了无缝的远程工作体验。 **...

    用inotify+rsrnc实现linux文件及目录的监控和同步

    为了自动化这个过程,我们可以编写一个shell脚本,如`syncapps.sh`: ```bash #!/bin/bash WATCH_DIR="/path/to/watch" DEST_DIR="/path/to/destination" while true; do inotifywait -q -m "$WATCH_DIR" -e ...

Global site tag (gtag.js) - Google Analytics