Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 备份文件夹中的文件_Bash_Shell_Solaris - Fatal编程技术网

Bash 备份文件夹中的文件

Bash 备份文件夹中的文件,bash,shell,solaris,Bash,Shell,Solaris,我开发了以下脚本,将gzip昨天的文件放在一个目录中,有什么改进建议吗 Yesterday=`TZ=GMT+24 date +%d-%b-%y`; mkdir $Yesterday mv /tmp/logs/servicemix.log.* /tmp/logs/$Yesterday for File in /tmp/logs/$Yesterday/app.log.*; do gzip $File; done 问候是昨天更改的还是昨天创建的?使用带有正确修饰符的find Yesterday=`T

我开发了以下脚本,将gzip昨天的文件放在一个目录中,有什么改进建议吗

Yesterday=`TZ=GMT+24 date +%d-%b-%y`;
mkdir $Yesterday
mv /tmp/logs/servicemix.log.* /tmp/logs/$Yesterday
for File in /tmp/logs/$Yesterday/app.log.*;
do gzip $File;
done

问候是昨天更改的还是昨天创建的?使用带有正确修饰符的
find

Yesterday=`TZ=GMT+24 date +%d-%b-%y`;
mkdir $Yesterday

# -1 is equal to last 24 hours
# ctime is for last inode modified time. If you need creation date you need a different modifier. See attached link.
find -ctime -1 -exec mv '{}' "$yesterday/" \;

但是。

使用以下代码行

TIME=`date +"%b-%d-%y"` # This Command will add date in Backup File Name.
now=$(date +"%T")
FILENAME="filename-$TIME:$now.tar.gz"      # Here i define Backup file name format.
SRCDIR="/home"              # Location of Important Data Directory (Source of backup).
DESDIR="/home/user/backup"     # Destination of backup file. 
tar -cpzf $DESDIR/$FILENAME $SRCDIR #creating backup as tar file
echo
echo "Backup finished"
1.更换

mkdir $Yesterday

  • gzip已移动的文件 移动servicemix*文件时,不要移动gzip app*文件

  • 如何确保/tmp/logs/servicemix.log.*不包含今天的文件?我将在00:05将其设置为cron作业
    -ctime
    随时间更改。我认为这是最好的选择。@jm666我就是这么写的。改变时间。。。我不明白你的评论。@jm666这就是为什么我的答案中的第一行被更改或创建的原因?如果创建时间比
    重要,那么ctime
    是错误的。你说得对。
    mkdir -p /tmp/logs/${Yesterday}