2、增加计划任务
export EDITOR=vi
crontab -e
0 0 * * * /data/bak.sh
3、bak.sh文件内容如下:
cat /data/bak.sh
#!/bin/bash
logs_dir=/data
bak_dir=/data/backup
bak_file=access_`date +%Y%m%d`.log
# tar everyday
#echo "begining of tar"
tar zcf $bak_dir/$bak_file.gz $logs_dir/access.log
# clear bak_file
#echo "clearing file.log"
find $bak_dir -mtime +7 -exec rm -rf {} \
#end
求采纳为满意回答。
2楼说得太玄乎了。其实很好解决,每次文件被更新后,文件的时间戳也会更新,根据文件的时间戳即可确定该文件是否被更新过。
如果你使用的是redhat,它将cp命令进行过alias,导致cp
-f命令无法去掉提示,因此执行时需要直接调用/bin/cp执行即可,脚本如下:
#!/bin/bash
/bin/cp
-auf
/A/*
/B
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)