Vi.*_*Vi. 8 linux filesystems date-modified
我已将一堆文件从一台服务器复制到另一台服务器,现在这些文件的日期已重置为当前日期。
如何在旧服务器上备份文件的日期并在新服务器上恢复它们(无需重新传输所有文件)?
以下是保存和恢复所有 {c,n,a} 次文件和目录的脚本:
节省:
find / -mount -print0 | perl -ne 'INIT{ $/ = "\0"; use File::stat;} chomp; my $s = stat($_); next unless $s; print $s->ctime . "/" . $s->mtime . "/" . $s->atime ."/$_\0"; ' > dates.dat
Run Code Online (Sandbox Code Playgroud)
恢复:
cat dates.dat | perl -ne 'INIT{ $/ = "\0";} chomp; m!^([0-9]+)/([0-9]+)/([0-9]+)/(.*)!s or next; my ($ct, $mt, $at, $f) = ($1, $2, $3, $4); utime $at, $mt, $f;'
Run Code Online (Sandbox Code Playgroud)
虽然它没有设置 ctime(inote-change 时间)。
小智 6
我有一个 Python 脚本可以在https://github.com/robertknight/mandrawer/blob/master/save-file-attrs.py执行此操作
在原始服务器上运行:
save-file-attrs.py save
scp .saved-file-attrs <user>@<dest-server>:<path>
在目标服务器上运行:
cd <path>
save-file-attrs.py restore
这将恢复文件属性。
| 归档时间: |
|
| 查看次数: |
4286 次 |
| 最近记录: |