需要脚本同步/匹配本地和远程主机之间的目录时间戳

需要脚本同步/匹配本地和远程主机之间的目录时间戳

我有一个备份工具,它从主机 A 复制目录并保存在主机 B 中。此目录包含子目录和文件。复制此目录及其子目录和文件后,时间戳显示当前日期。它不显示主机 A 中的原始时间戳。

此工具每天都会从主机 A 复制目录并保存在主机 B 中。我有一个脚本,可从源目录复制时间戳并与目标目录匹配。但此脚本仅在本地有效。

#!/bin/bash
# change timestamp accordingly to original directory of files
BASE_OLD=/testing/etc
BASE_NEW=/tmp/etc
cd $BASE_OLD
find . -printf '%P\n' |
while read fname
do
TS=$(stat -c '%Y' "${BASE_OLD}/${fname}")
TIMESTAMP=$(date -d @${TS})
touch -m -d "${TIMESTAMP}" "${BASE_NEW}/${fname}"
echo "${BASE_NEW}/${fname}"
done

我需要一个脚本来 ssh 到主机 A 并将时间戳与目录主机 B 进行匹配。

答案1

我们不是脚本编写服务,但我想你可以用 ssh 来破解一些东西。

我的建议是使用一个可以正确复制时间戳的工具,为此我建议使用同步

特别是-t开关

-t, --times 保留修改时间

请注意,-a开关包括-t

-a,--archive 存档模式;等于 -rlptgoD(无 -H、-A、-X)

例如

rsync -avz /testing/etc [email protected]:/home/backup

应该将文件从本地机器复制到远程机器并保留时间戳。

相关内容