نانت حذف الملفات القديمة من 7 أيام العمر
-
10-07-2019 - |
سؤال
وأود أن إنشاء الهدف الذي ينظف تسجيل الملفات القديمة من 7 أيام في مجلد معين. أحصل على خطأ عندما أحاول وضع في عنصر "التاريخ" داخل مجموعة الملفات. كيف يمكنني التوجه نحو هذا؟
<delete>
fileset basedir="${StageIISRoot}/MySite/App_Data/ErrorLog">
<date datetime="${datetime::now() - timespan::from-days(7)}" when="before"/>
<include name="*.xml" />
</fileset>
</delete>
المحلول
وأنا لا أرى أي وثائق لاستخدام "تاريخ" عنصر. قد تفكر في شيء من هذا القبيل:
<fileset id="thelogs" basedir="${StageIISRoot}/MySite/App_Data/ErrorLog">
<include name="*.xml" />
</fileset>
وثم الرجوع ذلك fileset في وقت لاحق في حلقة يتحقق من تاريخ الملف وحذف:
<foreach item="File" property="filename">
<in>
<items refid="thelogs" />
</in>
<do>
<if test="${timespan::get-days(datetime::now() - file::get-last-write-time(filename)) >= 7}">
<delete file="${filename}" />
</if>
</do>
</foreach>
نصائح أخرى
وماذا عن شيء من هذا القبيل:
<tstamp>
<format property="last.week" pattern="MM/dd/yyyy hh:mm" locale="en,UK" offset="-7" unit="day"/>
</tstamp>
<echo>Delete backups before ${last.week}</echo>
<delete>
<fileset dir="${dst.dir}">
<date datetime="${last.week}" when="before"/>
</fileset>
</delete>
ويبدو أن العمل بالنسبة لي: -)
لا تنتمي إلى StackOverflow