linux 每日自动备份文件的脚本

linux 每日自动备份文件的脚本,第1张

1、比如每天产生一个/data/access.log这样的文件,我们每天备份到backup目录的access_2011-01-12.log.gz这样的文件。

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8134259.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存