cfr*_*ich 7 bash shell date-arithmetic
我有一个shell脚本,每晚运行以备份我的EC2站点数据库和html到S3,当它备份文件夹时,它会将日期附加到它以便于查看.但是我希望它能够在3天之前删除相关的备份文件夹.我如何进行计算以获得3天前的日期?
#!/bin/bash
DATE=`date +%m%d%Y`
s3cmd put -r /var/lib/mysql/mydb/ s3://mybucket/mydb-$DATE/
s3cmd put -r /home/ec2-user/public_html/ s3://mybucket/public_html-$DATE/
s3cmd del -r s3://mybucket/mydb-(date 3 days ago)
Run Code Online (Sandbox Code Playgroud)
您可以在date命令中使用-d标志:
-d, --date=STRING
display time described by STRING, not 'now'
Run Code Online (Sandbox Code Playgroud)
所以,只需将日期变量更改为:
DATE=`date +%m%d%Y -d "3 days ago"`
Run Code Online (Sandbox Code Playgroud)