求助shell:linux 如何指定时间点,然后从某文件夹中获取这时间之后生成的文件,复制到另个文件夹中

例如我想获取5月15号之后文件夹/var/www/html之下的变化的文件,提取出来复制到/opt/backup文件夹下边,请问该怎么操作?最后是shell脚本,谢谢啦... 例如我想获取5月15号之后文件夹/var/www/html之下的变化的文件,提取出来复制到/opt/backup文件夹下边,请问该怎么操作?最后是shell脚本,谢谢啦 展开
 我来答
H_Y_H
2013-06-19 · TA获得超过154个赞
知道小有建树答主
回答量:223
采纳率:0%
帮助的人:195万
展开全部
cd /var/www/html
ls -l
找到5月15日之后的文件
cp xxx /opt/backup/
就行了

可以用awk来做:
思路是,用shell 读取需要的时间,传递给awk。
大概是这个样子,没环境,可能还需要改下
!#/bin/sh

if ($#=1) then
echo "some promt"

else
ls -l /var/www/html | awk -v date=$1 '$x>$date' {system("cp "$NF" /opt/backup")}'

fi

调用的时候
./xxx 需要的时间
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
solaris4u
2013-06-19 · TA获得超过309个赞
知道小有建树答主
回答量:107
采纳率:80%
帮助的人:94.2万
展开全部
具体确定日期我不知道怎么做. 但是如果想要复制修改时间在20天之内的. 应该用如下shell命令.
find /var/www/html -type f -mtime 20 -exec cp {} /opt/backup/ \
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
孟羽然
推荐于2017-11-25 · TA获得超过2976个赞
知道小有建树答主
回答量:1308
采纳率:70%
帮助的人:561万
展开全部
#!/bin/sh

show_usage() {
    echo "Usage: backup.sh src_folder bak_folder bak_date"
    echo ""
    echo "src_folder - source folder to backup"
    echo "bak_folder - backup folder"
    echo "bak_date   - backup date in YYYYMMDD format"
}


if [ $# -ne 3 ]; then
    show_usage
    exit 1
fi

src_folder="$1"
bak_folder="$2"
bak_date="$3"

bak_file="$bak_folder/backup.tar" # 这里把备份文件名固定为backup.tar了,你可以根据需要做些修改
if [ -f $bak_file ]; then
    rm $bak_file
fi

tmpfile="`mktemp`"
touch -t ${bak_date}0000 $tmpfile
cd $src_folder
find . -name "*.py" -newer $tmpfile -exec tar rvf $bak_file {} \;
rm $tmpfile

echo "backup file: $bak_file"
ls -l $bak_file


备份时运行命令:

backup.sh /var/www/html /opt/backup 20130515
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式