麻烦给个linux下的bash脚本。
有4个不同的文件夹,文件夹下的文件都是按时间生成的,比如要打包30天的,统一打包压缩以当前时间命名生成在home下。
有4个不同的文件夹,文件夹下的文件都是按时间生成的,比如要打包30天的,统一打包压缩以当前时间命名生成在home下。
不太清楚你的目录是什么结构
#!/bin/bash
#设置备份目录
BCK_DIR=/home
#要备份的文件夹
DIR_PATH=/data/demo/1,/data/demo/2,/data/demo/3
#指定备份日期
DATE=`date +%Y%m%d`
DIR_PATHS=(${DIR_PATH//,/ })
for PATH in ${DIR_PATHS[@]}
do
SOURCE_DIR=$SOURCE_DIR' '$PATH/$DATE/
done
#echo $SOURCE_DIR
/usr/bin/zip -r $BCK_DIR/$DATE.zip $SOURCE_DIR >> /dev/null 2>&1
这个是每天打一次,至于题主说要打30天的,我建议直接加定时,每天自动执行此脚本即可
crontab -e添加定时,进入vi界面,添加
50 59 23 ? * * sh /data/back_up.sh
此为每天23:59:50执行一次