我有以下文件:
1/2/abc.txt
1/2/def.txt
1/1/abc.txt
2/1/abc.txt
2/2/def.txt
3/1/hij.txt
我想复制所有abc.txt
文件并保留目录树。我尝试了以下命令:
rsync -R -P -a -m --include='*/*/abc.txt' remote@server:/target/directory
但这不会复制任何文件。有任何想法吗?将不胜感激。
兄弟,
我有以下文件:
1/2/abc.txt
1/2/def.txt
1/1/abc.txt
2/1/abc.txt
2/2/def.txt
3/1/hij.txt
我想复制所有abc.txt
文件并保留目录树。我尝试了以下命令:
rsync -R -P -a -m --include='*/*/abc.txt' remote@server:/target/directory
但这不会复制任何文件。有任何想法吗?将不胜感激。
兄弟,
我遇到一种情况,我需要(几乎)完全将我的 Ubuntu HD 复制到外部 HD。我遇到的最大问题是有大量文件由于各种原因无法复制。
如果我可以让 rsync 仅将遇到的错误写入日志文件,那么我可以使用该文件创建 bash 文件以帮助我进一步进行。我所说的错误是指无论出于何种原因,文件都无法复制的任何情况。
当我使用日志选项时,日志文件太大,因为它包含每个文件的信息。太大了我什至无法打开它。
rsync /source/ /dest/ --log-file=error.log
当我尝试使用安静选项将屏幕输出到文件时,我得到的日志文件是空的。
rsync -q /source/ /dest/ > error.log
无论如何,有没有办法让 rsync 只写入它遇到的错误?
从 find 和 rsync 开始?以及如何从特定日期开始同步文件/文件夹?,如何从特定日期同步照片,即从拍摄照片的日期开始(即从照片的元数据,即EXIF,例如 exif:DateTime,它可能与文件的“最后修改日期”不同) 向前?
一个想法是利用identify -verbose IMG_20200430_113445.jpg | grep -i date
和内部,另一个是为此exif:DateTime
使用exiftool
(https://stackoverflow.com/questions/48582185/only-get-datetimeoriginal-with-exiftool )。也许这个和上面引用的两个问答的元素会起作用?
也就是说,将上面引用的两个问答(也许还有这个)的想法与这个结合起来
identify -verbose IMG_20200430_113445.jpg | grep -i date
, 回归exif:DateTime
或这个
exiftool -DateTimeOriginal IMG_20200430_113445.jpg
可能是“方式”...
也可以看看:
我正在尝试测量我们服务器之间新设置的 NFS 驱动器的性能,因此我正在尝试同步 100 个大文件。我有 400 个文件夹,每个文件夹只包含一个大文件。我怎样才能同步它们?以下命令给了我一个错误:
[12:53:56] jalal@ayan:/SeaExp_1/400_folders$ time rsync -arv `ls | head -n 100` /SeaExpNFS/100_folders --progress
rsync: -rw-rw-rw-: unknown option
rsync error: syntax or usage error (code 1) at main.c(1585) [client=3.1.2]
real 0m0.039s
user 0m0.011s
sys 0m0.012s
其中两台服务器是 Ubuntu 20.04,另一台是 Ubuntu 18.04。NFS 由 IT 管理。这里,/SeaExpNFS
是 NFS 驱动器,/SeaExp_1
是一个外部 HDD。
万岁,相见!
这是我第一次使用 rsync,我不确定如何获得我期望的结果。
我正在尝试重新同步我的音乐库和保存的播放列表。我的两个源文件夹是...
~/music/music
~/music/playlists
我的目的地是...
/mnt/windows/linuxMusic
我希望在我的目的地看到的是……
/mnt/windows/linuxMusic/music
/mnt/windows/linuxMusic/playlists
我得到的是...
/mnt/windows/linuxMusic/music/music
/mnt/windows/linuxMusic/music/playlists
我的代码是...
src=~/music
dest=/mnt/windows/linuxMusic
rsync --archive --delete --exclude '.directory' --progress --verbose $src $dest 2>&1
额外的“/音乐”来自哪里,如何摆脱它?
蒂亚!
在 Ubuntu 20.04 上安装 lsyncd
创建 lsyncd.conf.lua
settings = {
logfile = "/var/log/lsyncd/lsyncd.log",
statusFile = "/var/log/lsyncd/lsyncd.status"
}
sync {
default.rsyncssh,
source = "/var/www/",
host = "1.1.1.1",
targetdir = "/var/vidsg"
}
systemctl status lsyncd 给我这个
● lsyncd.service - LSB: lsyncd daemon init script
Loaded: loaded (/etc/init.d/lsyncd; generated)
Active: active (exited) since Sun 2021-08-15 00:04:19 CEST; 11min ago
Docs: man:systemd-sysv-generator(8)
Process: 3460 ExecStart=/etc/init.d/lsyncd start (code=exited, status=0/SUCCESS)
systemd[1]: Starting LSB: lsyncd daemon init script...
lsyncd[3460]: * Starting synchronization daemon lsyncd
lsyncd[3466]: Error: Do not use settings = { ... }
lsyncd[3466]: please use settings{ ... } (without the equal sign)
lsyncd[3460]: ...fail!
systemd[1]: Started LSB: lsyncd daemon init script.
如果我运行 journalctl 我会看到:
Aug 14 22:36:10 vmi098767.myserver.net lsyncd[1004057]: ...fail!
Aug 14 22:36:10 vmi098767.myserver.net systemd[1]: Started LSB: lsyncd daemon init script.
Aug 14 22:37:28 vmi098767.myserver.net systemd[1]: Stopping LSB: lsyncd daemon init script...
Aug 14 22:37:28 vmi098767.myserver.net lsyncd[1004328]: * Stopping synchronization daemon lsyncd
Aug 14 22:37:28 vmi098767.myserver.net lsyncd[1004328]: ...done.
Aug 14 22:37:28 vmi098767.myserver.net systemd[1]: lsyncd.service: Succeeded.
Aug 14 22:37:28 vmi098767.myserver.net systemd[1]: Stopped LSB: lsyncd daemon init script.
Aug 14 22:37:28 vmi098767.myserver.net systemd[1]: Starting LSB: lsyncd daemon init script...
Aug 14 22:37:28 vmi098767.myserver.net lsyncd[1004345]: * Starting synchronization daemon lsyncd
Aug 14 22:37:28 vmi098767.myserver.net lsyncd[1004350]: Error: Do not use settings = { ... }
Aug 14 22:37:28 vmi098767.myserver.net lsyncd[1004350]: please use settings{ ... } (without the equal sign)
Aug 14 22:37:28 vmi098767.myserver.net lsyncd[1004345]: ...fail!
Aug 14 22:37:28 vmi098767.myserver.net systemd[1]: Started LSB: lsyncd daemon init script.
Aug 14 22:39:28 vmi098767.myserver.net systemd[1]: Stopping LSB: lsyncd daemon init script...
Aug 14 22:39:28 vmi098767.myserver.net lsyncd[1004484]: * Stopping synchronization daemon lsyncd
Aug 14 22:39:28 vmi098767.myserver.net lsyncd[1004484]: ...done.
Aug 14 22:39:28 vmi098767.myserver.net systemd[1]: lsyncd.service: Succeeded.
Aug 14 22:39:28 vmi098767.myserver.net systemd[1]: Stopped LSB: lsyncd daemon init script.
Aug 14 22:39:28 vmi098767.myserver.net systemd[1]: Starting LSB: lsyncd daemon init script...
Aug 14 22:39:28 vmi098767.myserver.net lsyncd[1004499]: * Starting synchronization daemon lsyncd
Aug 14 22:39:28 vmi098767.myserver.net lsyncd[1004505]: Error: Do not use settings = { ... }
Aug 14 22:39:28 vmi098767.myserver.net lsyncd[1004505]: please use settings{ ... } (without the equal sign)
Aug 14 22:39:28 vmi098767.myserver.net lsyncd[1004499]: ...fail!
Aug 14 22:39:28 vmi098767.myserver.net systemd[1]: Started LSB: lsyncd daemon init script.
Aug 14 22:57:10 vmi098767.myserver.net systemd[1]: Stopping LSB: lsyncd daemon init script...
Aug 14 22:57:10 vmi098767.myserver.net lsyncd[1005037]: * Stopping synchronization daemon lsyncd
Aug 14 22:57:10 vmi098767.myserver.net lsyncd[1005037]: ...done.
Aug 14 22:57:10 vmi098767.myserver.net systemd[1]: lsyncd.service: Succeeded.
Aug 14 22:57:10 vmi098767.myserver.net systemd[1]: Stopped LSB: lsyncd daemon init script.
Aug 14 22:57:10 vmi098767.myserver.net systemd[1]: Starting LSB: lsyncd daemon init script...
Aug 14 22:57:10 vmi098767.myserver.net lsyncd[1005055]: * Starting synchronization daemon lsyncd
Aug 14 22:57:10 vmi098767.myserver.net lsyncd[1005060]: Error: Do not use settings = { ... }
Aug 14 22:57:10 vmi098767.myserver.net lsyncd[1005060]: please use settings{ ... } (without the equal sign)
Aug 14 22:57:10 vmi098767.myserver.net lsyncd[1005055]: ...fail!
Aug 14 22:57:10 vmi098767.myserver.net systemd[1]: Started LSB: lsyncd daemon init script.
Aug 14 22:59:13 vmi098767.myserver.net systemd[1]: Stopping LSB: lsyncd daemon init script...
Aug 14 22:59:13 vmi098767.myserver.net lsyncd[1005114]: * Stopping synchronization daemon lsyncd
Aug 14 22:59:13 vmi098767.myserver.net lsyncd[1005114]: ...done.
Aug 14 22:59:13 vmi098767.myserver.net systemd[1]: lsyncd.service: Succeeded.
Aug 14 22:59:13 vmi098767.myserver.net systemd[1]: Stopped LSB: lsyncd daemon init script.
Aug 14 22:59:13 vmi098767.myserver.net systemd[1]: Starting LSB: lsyncd daemon init script...
Aug 14 22:59:13 vmi098767.myserver.net lsyncd[1005132]: * Starting synchronization daemon lsyncd
Aug 14 22:59:13 vmi098767.myserver.net lsyncd[1005139]: Error: Do not use settings = { ... }
Aug 14 22:59:13 vmi098767.myserver.net lsyncd[1005139]: please use settings{ ... } (without the equal sign)
Aug 14 22:59:13 vmi098767.myserver.net lsyncd[1005132]: ...fail!
Aug 14 22:59:13 vmi098767.myserver.net systemd[1]: Started LSB: lsyncd daemon init script.
Aug 14 22:59:58 vmi098767.myserver.net systemd[1]: Stopping LSB: lsyncd daemon init script...
Aug 14 22:59:58 vmi098767.myserver.net lsyncd[1005250]: * Stopping synchronization daemon lsyncd
Aug 14 22:59:58 vmi098767.myserver.net lsyncd[1005250]: ...done.
Aug 14 22:59:58 vmi098767.myserver.net systemd[1]: lsyncd.service: Succeeded.
Aug 14 22:59:58 vmi098767.myserver.net systemd[1]: Stopped LSB: lsyncd daemon init script.
-- Reboot --
Aug 14 23:00:24 vmi098767.myserver.net systemd[1]: Starting LSB: lsyncd daemon init script...
Aug 14 23:00:25 vmi098767.myserver.net lsyncd[437]: * Starting synchronization daemon lsyncd
Aug 14 23:00:25 vmi098767.myserver.net lsyncd[453]: Error: Do not use settings = { ... }
Aug 14 23:00:25 vmi098767.myserver.net lsyncd[453]: please use settings{ ... } (without the equal sign)
Aug 14 23:00:25 vmi098767.myserver.net lsyncd[437]: ...fail!
如何解决这个问题。
我在 Ubuntu 20.04 服务器上有一个 8TB USB 安装驱动器 (exfat)。那里的文件似乎落后了一个小时。这给各种rsync和rclone工作带来了很大的锻炼!来自社区的任何想法是如何发生的,以及如何解决它,将不胜感激。
我承认不知道时区更改如何在目录查询中显示。文件时间戳是否存在于 UTC 中并根据需要进行翻译?
我有一个奇怪的情况,我将 rsync 命令的整个输出重定向到一个文件,如果我用 nano 编辑器打开它或者将输出发送到 Outlook 邮件,文件就会损坏。如果我使用 cat 命令,它看起来没问题:
cat rsync_log.txt
file1.sql
5.04G 100% 20.80MB/s 0:03:51 (xfr#1, to-chk=0/1)
sent 568.29K bytes received 292.02M bytes 854.27K bytes/sec
total size is 5.04G speedup is 17.24
receiving incremental file list
但是,如果我用 nano 打开文件,它看起来像这样:
file1.sql
receiving incremental file list
^M 0 0% 0.00kB/s 0:00:00 ^M 13.85M 0% 12.31MB/s 0:06:39 ^M 51.85M 1% 23.87MB/s 0:03:24 ^M 76.78M 1% 2$
此外,如果我将包含在 html 标记中的文件内容发送到 Outlook 邮件(这是我真正需要的),它看起来像这样:
cat rsync_log_wrapped_in_html.html | mail -a "Content-Type: text/html" -s "test" [email protected]
file.sql
0 0% 0.00kB/s 0:00:00 13.85M 0% 12.31MB/s 0:06:39 51.85M 1% 23.87MB/s 0:03:24 76.78M 1% 22.75MB/s 0:03:33 96.60M 1% 20.77MB/s 0:03:52 104.91M 2% 19.69MB/s 0:04:04 110.95M 2% 12.75MB/s 0:06:17 114.65M 2% 8.40MB/s 0:09:32 124.31M 2% 6.39MB/s 0:12:31 141.71M 2% 8.52MB/s 0:09:22 156.63M 3% 10.48MB/s 0:07:35 163.16M 3% 11.12MB/s 0:07:08 187.10M 3% 14.58MB/s 0:05:25 203.72M 4% 14.50MB/s 0:05:26 209.76M 4% 12.57MB/s 0:06:15 213.88M 4% 11.49MB/s 0:06:50 217.93M 4% 6.91MB/s 0:11:22 222.47M 4% 3.94MB/s 0:19:55 234.70M 4% 5.18MB/s 0:15:06 238.46M 4% 5.24MB/s 0:14:56 243.78M 4% 5.57MB/s 0:14:01 257.35M 5% 8.02MB/
s 0:09:43 264.74M 5% 6.92MB/s 0:11:14 269.72M 5% 7.19MB/s 0:10:48 283.57M 5% 9.14MB/s 0:08:28 315.04M 6% 13.28MB/s 0:05:47 336.63M 6% 16.33MB/s 0:04:41 352.96M 6% 19.35MB/s 0:03:56 357.15M 7% 16.98MB/s 0:04:29 360.49M 7% 10.19MB/s 0:07:28 369.80M 7% 7.57MB/s 0:10:02 386.99M 7% 7.37MB/s 0:10:16 402.76M 7% 9.96MB/s 0:07:34 411.99M 8% 10.33MB/s 0:07:17 422.93M 8% 9.82MB/s 0:07:39 430.88M 8% 7.49MB/s 0:10:01 457.08M 9% 9.26MB/s 0:08:03 511.61M 10% 18.69MB/s 0:03:56 582.41M 11% 32.66MB/s 0:02:13 615.00M
输出要长很多,这只是其中的一小部分。该文件还包含其他输出/日志,nano 可以查看这些输出/日志,并使用 mail 命令发送 ok。只有 rsync 部分搞砸了。我删除了文件并创建了一个新文件,没有任何变化。我不知道发生了什么,这真的很令人失望。我真的需要在 html 页面中将输出清楚地发送到 Outlook,请帮助,谢谢。
我在没有 --delete 标志的情况下运行我的 rsync 备份,以防意外删除某些内容。在带有 -v 标志的日志中,我只是收到已删除文件的父目录发生更改的通知,因此我无法确定受影响的文件。当我使用 -vvv 标志时,我没有得到将已删除文件与其余文件分开的描述性信息。包括 --itemize-changes 时相同。
我试图找到一种方法来在我的主机上删除一个文件时在我的日志中更新,即使我不想在我的目标机器上删除它。我希望能够在手动运行 --delete 标志之前每隔一段时间检查一次删除的内容。我想通过一个简单的脚本运行 rsync 日志信息以列出“已删除”文件(仅在机器 a 上删除的文件,但在机器 b 上未删除),但找不到基本上说“文件已在机器 a 上删除”的信息但不对机器 b 上的备份进行任何更改。
我的命令:
rsync -avz -e ssh /files/to/backup [email protected]:/Target/backup/file --log-file=/path/to/log -q
或者
rsync -avvvz -e ssh /files/to/backup [email protected]:/Target/backup/file --log-file=/path/to/log -q
我在另一台要备份的笔记本电脑上安装了 Ubuntu。
我运行这个:
ole@mkt:~$ rsync -vaz /home/ole/.thunderbird [email protected]:/~
[email protected]'s password:
sending incremental file list
rsync: mkdir "/~" failed: Permission denied (13)
rsync error: error in file IO (code 11) at main.c(682) [Receiver=3.1.3]
rsync: [sender] write error: Broken pipe (32)
而且显然不允许.thunderbird
在备份目标上创建目录。
想法?