带有目录名称和原始时间戳组合的 tar 文件



我想创建包含组合目录名称和原始时间戳的tar文件。有很多文件需要以上述格式转换。

对于下面的目录,我希望新的tar文件名会rs_jul_29_2016.tar

drwxr-xr-x   3 root root  4096 Jul 29  2016 rs

使用 os.stat() 获取上次修改时间,datetime将其转换为所需的字符串时间戳。

import os
from datetime import datetime
filename = 'rs'
st = os.stat(filename)
modified_time = datetime.fromtimestamp(st.st_mtime)
tar_filename = modified_time.strftime('{}_%b_%m_%Y.tar'.format(filename))

好吧,你把Python和shell/sh都标记为关键字,所以这里两者都是。

import os
import tarfile
dst = '/destination/directory/path/'
src = '/source/directory/path/'
# list current date
heute = dt.date.today().strftime('%Y%m%d_')
# assuming only have directories in current directory
for d in os.listdir(src):
    # define .tar destination filename
    dst_fn = dst + heute + d + '.tar'
    with tarfile.open(dst_fn, 'w') as fid:
        fid.add(d)

砰砰��

tmstamp=$(date '%Y%m%d')
cd directory
for dir in */
do
  base=$(basename "$dir")
  tar -cf "${tmstamp}_${base}.tar" "$dir"
done

这两者都应该为每个感兴趣的目录创建一个 tar 文件。 我的建议:创建一个虚拟目录并在真正执行之前测试每个目录,以确保......

最新更新