如何将文件复制到时间戳生成的目录?

如何将文件复制到时间戳生成的目录?

您好,我正在尝试将所有文​​件从文档目录复制到具有时间戳的备份目录。因此,我创建了一个名为的目录bk$( the time stamp of the directory),并尝试将文件从 Documents 目录复制到新创建的唯一目录。这将在crontab从文档备份文件中进行,当备份开始时,它将为每个备份创建由目录时间戳唯一标识的新目录。由于某种原因我无法得到cpcpio -mdp

bkdate="date +%Y_%m_%d_%H_%M_%S"
PATH=/home/user/backup/
bksource="/home/user/Documents/"

mkdir /home/user/backup/"bk$(date +%Y_%m_%d_%H_%M_%S)"
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}/

答案1

您可以在名为 $PATH 的变量中设置该位置。该变量具有特殊含义,作为 shell 将在其中查找要执行的命令的搜索路径。通过将其设置为您创建的目录(因此该目录为空),您只需确保 shell 无法再找到任何命令。

将该变量重命名为其他名称。那么一切都会好起来的。

相关内容