我正在尝试自动执行备份过程,因此在我当前的ec2 Linux实例中,在/var/opt/.../backup-daily文件夹中,它们将是jar文件,因此我希望将它们复制到新创建的文件中带有当前时间戳的文件夹,然后压缩文件,然后将zip文件复制到s3存储桶中,稍后我要删除已有90天的文件夹,请为我提供Linux脚本
我正在手动更新此过程,但是我需要一个每天在每天10:00运行的脚本。老板要求我编写一个脚本以使其自动化
retentionDate=(datetime.now() - timedelta(days=90)).date()
sourceDirectory="give the directory where folder will be created with dateandtime"
我无法自动执行此过程,我需要做的是创建一个带有时间戳的新文件夹,并将所有jar文件从备份文件夹复制到带有时间戳的文件夹,然后将该文件夹压缩,然后上传放入s3存储桶,并在90天后删除文件
答案 0 :(得分:0)
尝试此脚本并进行一些更改:
#!/bin/bash
origin_dir="/var/opt/backup"
dest_dir=$(date +"/data/bkp_%F" -u)
log=$(date +"/data/bkp_%F.log" -u)
#send every output to log file
exec >> $log 2>&1
#copy the files do newer timestamped dir
cp -v $origin_dir/*.jar $dest_dir/
#zip files
bzip2 -v --compress --best $dest_dir/*.jar
#delete older dir with more than 90 days
find /data/ -type d -name 'bkp_*' -mtime +90 -exec rm -r -v {} \;