mysql バックアップを作成するスクリプトがあり、ファイルが呼び出されてしまいます。
DB_name-M_D_Y.gz
たとえばstackoverflow_users-04_10_2013.gz
ファイルの名前は事前にわかりません。パターンだけです。
私がする必要があるのは、スクリプトを適応させて、新しいバックアップを作成する前に、いずれかのファイルの日付が 7 日より古いかどうかを確認し、そうであれば、それらで他のことを行うことです。
他のことを行う方法は知っていますが、そもそもファイルのリストを取得するのが難しいものです。
ファイルが他のスクリプトによって影響を受けるため、変更された日付を使用することはできないため、ファイル名から日付を読み取る必要があります。
では、どうすればファイルのリストを取得できますか?
コメントへの返信はこのダミーデータを想定
現在の日付: 2013 年 4 月10日
database zero-03_31_2013.gz #Older | Notice this one has spaces
database_one-04_01_2013.gz #Older
database_two-04_02_2013.gz #Older
database_three-04_03_2013.gz #Newer | Actually 7 days, but we want OLDER than!
database_four-04_04_2013.gz #Newer
database_five-04_05_2013.gz #Newer
dater.sh #Does not have the .gz extension | Not deleted
バッシュのバージョン
matthew@play:~/test$ bash --version
GNU bash, version 4.2.37(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.