您好,我正在尝试将所有文件从文档目录复制到具有时间戳的备份目录。因此,我创建了一个名为 bk$(文件夹的时间戳)的文件夹,并且尝试将文件从 Documents 目录复制到新创建的唯一文件夹。这将在 crontab 中备份文档中的文件,当备份启动时,它将为每个备份创建由文件夹时间戳唯一标识的新目录。由于某种原因,我无法获取 cp 或 cpio -mdp。现在有人提到我可以使用 $PATH 变量,这看起来很有希望,如果这是解决方案,如果有人可以帮助我使其工作。
bkdest=home/user/backup/
bksource="/home/user/Documents/"
export PATH=/$bkdest:$PATH
mkdir /"$bkdest"bk.$(date +%Y_%m_%d_%H_%M_%S)
cp /"$bksource"* $PATH
我尝试使用的其他方法使其发挥作用:
cp $bksource * ls | tail -l | $PATH
我本来可以使用 ctime,但不幸的是它不适用于文件夹创建日期。
这是我的方法,但使用的是最新创建的文件夹而不是文件
find $HOME -type d -daystart ctime 0
如果有人可以帮我复制到该新文件夹,我将非常感激。谢谢!
最佳答案
将目标名称存储在变量中:
bkdest=/home/user/backup
bksource=/home/user/Documents
target=${bkdest}/bk.$(date +%Y_%m_%d_%H_%M_%S)
mkdir -p $target
cp ${bksource}/* ${target}/
请注意,我稍微整理了您对变量的使用。
此外,这不会复制子目录。为此,您需要使用cp -R
。当我进行备份时,我更喜欢使用 rsync
。
关于linux - 如何将文件复制到时间戳自动生成的文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31693417/