Linux rsync-将文件复制到另一台服务器
我的服务器1中有500多个Mp4文件 所以我希望其中一半发送到服务器2,另一半发送到服务器3 但我不知道该怎么做 有没有办法通过字母表或日期或其他方式选择文件 以Linux rsync-将文件复制到另一台服务器,linux,ssh,rsync,Linux,Ssh,Rsync,我的服务器1中有500多个Mp4文件 所以我希望其中一半发送到服务器2,另一半发送到服务器3 但我不知道该怎么做 有没有办法通过字母表或日期或其他方式选择文件 以 a,c,e*.mp4 将发送到服务器2和以 b,d,f*.mp4 将发送到服务器3 或者你认为还有其他更好的方法吗 rsync -avzP /home/user/public_html/domain.com/ ip:/home/user2/public_html/domain.com/ 1) 使用“查找”创建所有文件
a,c,e*.mp4
将发送到服务器2和以
b,d,f*.mp4
将发送到服务器3
或者你认为还有其他更好的方法吗
rsync -avzP /home/user/public_html/domain.com/ ip:/home/user2/public_html/domain.com/
1) 使用“查找”创建所有文件的列表
find /opt/mymp3folder -print > /tmp/foo
find /opt/mymp3folder -print > /tmp/foo
2) 找到行数并将列表一分为二
cd /tmp
wc -l /tmp/foo
387
split -l 200 /tmp/foo
wc -l /tmp/foo
3) 默认情况下,“拆分”生成一组名为xaa xab xac等的文件。因此,使用xaa复制到一台服务器,使用xab复制到另一台服务器
rsync -av --files-from=/tmp/xaa . server1:/opt/newmp3folder/
rsync -av --files-from=/tmp/xab . server2:/opt/newmp3folder/
上面的“.”是“源”路径,允许在“文件来源”中使用相对路径。您需要位于运行find命令的同一路径中并使用。或者将其设置为绝对值
显然,如果您想定期执行此操作,可能需要正确地编写脚本1)使用find创建所有文件的列表
find /opt/mymp3folder -print > /tmp/foo
find /opt/mymp3folder -print > /tmp/foo
2) 找到行数并将列表一分为二
cd /tmp
wc -l /tmp/foo
387
split -l 200 /tmp/foo
wc -l /tmp/foo
3) 默认情况下,“拆分”生成一组名为xaa xab xac等的文件。因此,使用xaa复制到一台服务器,使用xab复制到另一台服务器
rsync -av --files-from=/tmp/xaa . server1:/opt/newmp3folder/
rsync -av --files-from=/tmp/xab . server2:/opt/newmp3folder/
上面的“.”是“源”路径,允许在“文件来源”中使用相对路径。您需要位于运行find命令的同一路径中并使用。或者将其设置为绝对值
显然,如果您想定期执行此操作,可能需要正确地编写脚本1)使用find创建所有文件的列表
find /opt/mymp3folder -print > /tmp/foo
find /opt/mymp3folder -print > /tmp/foo
2) 找到行数并将列表一分为二
cd /tmp
wc -l /tmp/foo
387
split -l 200 /tmp/foo
wc -l /tmp/foo
387
拆分-l 200/tmp/foo
mv xaa xaa.txt
然后像这样同步
rsync -avzP -e ssh `cat xaa.txt` root@0.0.0.0:/var/www/
1) 使用“查找”创建所有文件的列表
find /opt/mymp3folder -print > /tmp/foo
find /opt/mymp3folder -print > /tmp/foo
2) 找到行数并将列表一分为二
cd /tmp
wc -l /tmp/foo
387
split -l 200 /tmp/foo
wc -l /tmp/foo
387
拆分-l 200/tmp/foo
mv xaa xaa.txt
然后像这样同步
rsync -avzP -e ssh `cat xaa.txt` root@0.0.0.0:/var/www/
我认为按大小分割文件比按数字分割文件更好(我假设mp4中有几种文件大小)
我认为按大小分割文件比按数字分割文件更好(我假设mp4中有几种文件大小)
我想这会有帮助:我在文件所在的文件夹上用ssh发送即时消息,我尝试了以下方法:rsync-avzP--include='[Nn][Aa][Mm][E]*.mp4'ip:/home/user2/public_html/domain.com/因此,我认为这将得到以示例n*.mp4开头的文件,但它不起作用。我认为这会有所帮助:我在文件所在的文件夹上使用ssh,我尝试了以下方法:rsync-avzP--include='[Nn][Aa][Mm][E]*.mp4'ip:/home/user2/public_html/domain.com/因此我认为这将获得以示例n*.mp4开头的文件,但它不起作用同步:--从文件:未知选项rsync错误:main.c(1422)[client=3.0.6]处的语法或使用错误(代码1)对不起,错误的选项拼写和语法。更正rsync:--从文件:未知选项rsync错误:main.c(1422)[client=3.0.6]处的语法或使用错误(代码1)]抱歉,选项拼写和语法错误。纠正