您好,我正在尝试将所有文件从文档目录复制到具有时间戳的备份目录。因此,我创建了一个名为的目录bk$( the time stamp of the directory)
,并尝试将文件从 Documents 目录复制到新创建的唯一目录。这将在crontab
从文档备份文件中进行,当备份开始时,它将为每个备份创建由目录时间戳唯一标识的新目录。由于某种原因我无法得到cp
或cpio -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 无法再找到任何命令。
将该变量重命名为其他名称。那么一切都会好起来的。