How to delete old backups based on a date in file name?how to delete files with specific date patternRemove files older than 5 days in UNIX (date in file name, not timestamp)Remove files older than 5 days in UNIX (date in file name, not timestamp)file deletion using forfilesRemove old files in a directory except files present in an exception fileDelete files older than X daysbash script to identify the files based on current date and file name patternDelete sub-directories with YYYYMMDD in name older than N daysFind and delete folders within directory that are older than x daysDeleting older log fileshow to delete files with specific date patternHow to delete all directories in a directory older than 2 weeks except the latest one that match a file pattern?

Failed to fetch jessie backports repository

Applicability of Single Responsibility Principle

Do the temporary hit points from Reckless Abandon stack if I make multiple attacks on my turn?

How does the UK government determine the size of a mandate?

Unreliable Magic - Is it worth it?

Why didn't Theresa May consult with Parliament before negotiating a deal with the EU?

What is paid subscription needed for in Mortal Kombat 11?

Do all network devices need to make routing decisions, regardless of communication across networks or within a network?

Tiptoe or tiphoof? Adjusting words to better fit fantasy races

Gears on left are inverse to gears on right?

What Brexit proposals are on the table in the indicative votes on the 27th of March 2019?

What does "I’d sit this one out, Cap," imply or mean in the context?

Purchasing a ticket for someone else in another country?

How can I get through very long and very dry, but also very useful technical documents when learning a new tool?

How can we prove that any integral in the set of non-elementary integrals cannot be expressed in the form of elementary functions?

How easy is it to start Magic from scratch?

How to check is there any negative term in a large list?

How can a function with a hole (removable discontinuity) equal a function with no hole?

How to draw lines on a tikz-cd diagram

Increase performance creating Mandelbrot set in python

Why not increase contact surface when reentering the atmosphere?

CREATE opcode: what does it really do?

Opposite of a diet

Why escape if the_content isnt?



How to delete old backups based on a date in file name?


how to delete files with specific date patternRemove files older than 5 days in UNIX (date in file name, not timestamp)Remove files older than 5 days in UNIX (date in file name, not timestamp)file deletion using forfilesRemove old files in a directory except files present in an exception fileDelete files older than X daysbash script to identify the files based on current date and file name patternDelete sub-directories with YYYYMMDD in name older than N daysFind and delete folders within directory that are older than x daysDeleting older log fileshow to delete files with specific date patternHow to delete all directories in a directory older than 2 weeks except the latest one that match a file pattern?













5















I have a daily backups named like this:



yyyymmddhhmm.zip // pattern
201503200100.zip // backup from 20. 3. 2015 1:00


I'm trying to create a script that deletes all backups older than 3 days. The script should be also able to delete all other files in the folder not matching the pattern (but there would be a switch for that in the script to disable this).



To determine the file age I don't want to use backups timestamps as other programs also manipulate with the files and it can be tampered.



With the help of: Remove files older than 5 days in UNIX (date in file name, not timestamp)
I got:



#!/bin/bash

DELETE_OTHERS=yes
BACKUPS_PATH=/mnt/!ARCHIVE/!backups/
THRESHOLD=$(date -d "3 days ago" +%Y%m%d%H%M)

ls -1 $BACKUPS_PATH????????????.zip |
while read A DATE B FILE
do
[[ $DATE -le $THRESHOLD ]] && rm -v $BACKUPS_PATH$FILE
done

if [ $DELETE_OTHERS == "yes" ]; then
rm $BACKUPS_PATH*.* // but I don't know how to not-delete the files matching pattern
fi


But it keeps saying:



rm: missing operand


Where is the problem and how to complete the script?










share|improve this question
























  • Do you actually have a ! at the beginning of your ARCHIVE and backups directory names? If so, why in the world would you want to complicate your life in such a way?

    – terdon
    Mar 21 '15 at 17:09











  • Yes I have. I'm using ! to keep the one or two key directories on top of the file listings when there is a lot of other files/folders in that directory and it is sorted by name. I am all ears if there is a better technique for that :)

    – Joudicek Jouda
    Mar 21 '15 at 19:13






  • 1





    I just add aa or similar to the name, for example aabackups. That way, you don't need to escape special characters. It's a matter of personal preference though.

    – terdon
    Mar 21 '15 at 20:34















5















I have a daily backups named like this:



yyyymmddhhmm.zip // pattern
201503200100.zip // backup from 20. 3. 2015 1:00


I'm trying to create a script that deletes all backups older than 3 days. The script should be also able to delete all other files in the folder not matching the pattern (but there would be a switch for that in the script to disable this).



To determine the file age I don't want to use backups timestamps as other programs also manipulate with the files and it can be tampered.



With the help of: Remove files older than 5 days in UNIX (date in file name, not timestamp)
I got:



#!/bin/bash

DELETE_OTHERS=yes
BACKUPS_PATH=/mnt/!ARCHIVE/!backups/
THRESHOLD=$(date -d "3 days ago" +%Y%m%d%H%M)

ls -1 $BACKUPS_PATH????????????.zip |
while read A DATE B FILE
do
[[ $DATE -le $THRESHOLD ]] && rm -v $BACKUPS_PATH$FILE
done

if [ $DELETE_OTHERS == "yes" ]; then
rm $BACKUPS_PATH*.* // but I don't know how to not-delete the files matching pattern
fi


But it keeps saying:



rm: missing operand


Where is the problem and how to complete the script?










share|improve this question
























  • Do you actually have a ! at the beginning of your ARCHIVE and backups directory names? If so, why in the world would you want to complicate your life in such a way?

    – terdon
    Mar 21 '15 at 17:09











  • Yes I have. I'm using ! to keep the one or two key directories on top of the file listings when there is a lot of other files/folders in that directory and it is sorted by name. I am all ears if there is a better technique for that :)

    – Joudicek Jouda
    Mar 21 '15 at 19:13






  • 1





    I just add aa or similar to the name, for example aabackups. That way, you don't need to escape special characters. It's a matter of personal preference though.

    – terdon
    Mar 21 '15 at 20:34













5












5








5


2






I have a daily backups named like this:



yyyymmddhhmm.zip // pattern
201503200100.zip // backup from 20. 3. 2015 1:00


I'm trying to create a script that deletes all backups older than 3 days. The script should be also able to delete all other files in the folder not matching the pattern (but there would be a switch for that in the script to disable this).



To determine the file age I don't want to use backups timestamps as other programs also manipulate with the files and it can be tampered.



With the help of: Remove files older than 5 days in UNIX (date in file name, not timestamp)
I got:



#!/bin/bash

DELETE_OTHERS=yes
BACKUPS_PATH=/mnt/!ARCHIVE/!backups/
THRESHOLD=$(date -d "3 days ago" +%Y%m%d%H%M)

ls -1 $BACKUPS_PATH????????????.zip |
while read A DATE B FILE
do
[[ $DATE -le $THRESHOLD ]] && rm -v $BACKUPS_PATH$FILE
done

if [ $DELETE_OTHERS == "yes" ]; then
rm $BACKUPS_PATH*.* // but I don't know how to not-delete the files matching pattern
fi


But it keeps saying:



rm: missing operand


Where is the problem and how to complete the script?










share|improve this question
















I have a daily backups named like this:



yyyymmddhhmm.zip // pattern
201503200100.zip // backup from 20. 3. 2015 1:00


I'm trying to create a script that deletes all backups older than 3 days. The script should be also able to delete all other files in the folder not matching the pattern (but there would be a switch for that in the script to disable this).



To determine the file age I don't want to use backups timestamps as other programs also manipulate with the files and it can be tampered.



With the help of: Remove files older than 5 days in UNIX (date in file name, not timestamp)
I got:



#!/bin/bash

DELETE_OTHERS=yes
BACKUPS_PATH=/mnt/!ARCHIVE/!backups/
THRESHOLD=$(date -d "3 days ago" +%Y%m%d%H%M)

ls -1 $BACKUPS_PATH????????????.zip |
while read A DATE B FILE
do
[[ $DATE -le $THRESHOLD ]] && rm -v $BACKUPS_PATH$FILE
done

if [ $DELETE_OTHERS == "yes" ]; then
rm $BACKUPS_PATH*.* // but I don't know how to not-delete the files matching pattern
fi


But it keeps saying:



rm: missing operand


Where is the problem and how to complete the script?







bash shell-script scripting file-management






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Apr 13 '17 at 12:36









Community

1




1










asked Mar 21 '15 at 15:42









Joudicek JoudaJoudicek Jouda

166126




166126












  • Do you actually have a ! at the beginning of your ARCHIVE and backups directory names? If so, why in the world would you want to complicate your life in such a way?

    – terdon
    Mar 21 '15 at 17:09











  • Yes I have. I'm using ! to keep the one or two key directories on top of the file listings when there is a lot of other files/folders in that directory and it is sorted by name. I am all ears if there is a better technique for that :)

    – Joudicek Jouda
    Mar 21 '15 at 19:13






  • 1





    I just add aa or similar to the name, for example aabackups. That way, you don't need to escape special characters. It's a matter of personal preference though.

    – terdon
    Mar 21 '15 at 20:34

















  • Do you actually have a ! at the beginning of your ARCHIVE and backups directory names? If so, why in the world would you want to complicate your life in such a way?

    – terdon
    Mar 21 '15 at 17:09











  • Yes I have. I'm using ! to keep the one or two key directories on top of the file listings when there is a lot of other files/folders in that directory and it is sorted by name. I am all ears if there is a better technique for that :)

    – Joudicek Jouda
    Mar 21 '15 at 19:13






  • 1





    I just add aa or similar to the name, for example aabackups. That way, you don't need to escape special characters. It's a matter of personal preference though.

    – terdon
    Mar 21 '15 at 20:34
















Do you actually have a ! at the beginning of your ARCHIVE and backups directory names? If so, why in the world would you want to complicate your life in such a way?

– terdon
Mar 21 '15 at 17:09





Do you actually have a ! at the beginning of your ARCHIVE and backups directory names? If so, why in the world would you want to complicate your life in such a way?

– terdon
Mar 21 '15 at 17:09













Yes I have. I'm using ! to keep the one or two key directories on top of the file listings when there is a lot of other files/folders in that directory and it is sorted by name. I am all ears if there is a better technique for that :)

– Joudicek Jouda
Mar 21 '15 at 19:13





Yes I have. I'm using ! to keep the one or two key directories on top of the file listings when there is a lot of other files/folders in that directory and it is sorted by name. I am all ears if there is a better technique for that :)

– Joudicek Jouda
Mar 21 '15 at 19:13




1




1





I just add aa or similar to the name, for example aabackups. That way, you don't need to escape special characters. It's a matter of personal preference though.

– terdon
Mar 21 '15 at 20:34





I just add aa or similar to the name, for example aabackups. That way, you don't need to escape special characters. It's a matter of personal preference though.

– terdon
Mar 21 '15 at 20:34










3 Answers
3






active

oldest

votes


















6














The first problem in your code is that you are parsing ls. This means it will break very easily, if you have any spaces in your file or directory names for example. You should use shell globbing or find instead.



A bigger problem is that you are not reading the data correctly. Your code:



ls -1 | while read A DATE B FILE


will never populate $FILE. The output of ls -1 is just a list of filenames so, unless those file names contain whitespace, only the first of the 4 variables you give to read will be populated.



Here's a working version of your script:



#!/usr/bin/env bash

DELETE_OTHERS=yes
BACKUPS_PATH=/mnt/!ARCHIVE/!backups
THRESHOLD=$(date -d "3 days ago" +%Y%m%d%H%M)

## Find all files in $BACKUPS_PATH. The -type f means only files
## and the -maxdepth 1 ensures that any files in subdirectories are
## not included. Combined with -print0 (separate file names with ),
## IFS= (don't break on whitespace), "-d ''" (records end on '') , it can
## deal with all file names.
find $BACKUPS_PATH -maxdepth 1 -type f -print0 | while IFS= read -d '' -r file
do
## Does this file name match the pattern (13 digits, then .zip)?
if [[ "$(basename "$file")" =~ ^[0-9]12.zip$ ]]
then
## Delete the file if it's older than the $THR
[ "$(basename "$file" .zip)" -le "$THRESHOLD" ] && rm -v -- "$file"
else
## If the file does not match the pattern, delete if
## DELETE_OTHERS is set to "yes"
[ $DELETE_OTHERS == "yes" ] && rm -v -- "$file"
fi
done





share|improve this answer
































    0














    don't you forget the sed line between ls -1 and while read, this line IS important.



    for first question I would suggest: (a awk remplacement I was unable to find a sed equivalent)



    ls -1 $BACKUPS_PATH????????????.zip |
    awk -F. 'printf "%s %sn",$1,$0 ;' |
    while read DATE FILE
    do
    [[ $DATE -le $THRESHOLD ]] && rm -v $BACKUPS_PATH$FILE
    done


    provided shell arithmetic are at least 37 bit wise to do the $DATE -le $THRESHOLD testing.






    share|improve this answer

























    • This breaks on whitespace and other strange characters.

      – terdon
      Mar 21 '15 at 17:45



















    0














    In FreeBSD use:
    Example: find all files in /usr/home/foobar owned by foobar that are older than 5760 minutes (4 days) and delete them.



    find /usr/home/foobar -user foobar -type f -mmin +5760 -delete





    share|improve this answer






















      Your Answer








      StackExchange.ready(function()
      var channelOptions =
      tags: "".split(" "),
      id: "106"
      ;
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function()
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled)
      StackExchange.using("snippets", function()
      createEditor();
      );

      else
      createEditor();

      );

      function createEditor()
      StackExchange.prepareEditor(
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: false,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: null,
      bindNavPrevention: true,
      postfix: "",
      imageUploader:
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      ,
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      );



      );













      draft saved

      draft discarded


















      StackExchange.ready(
      function ()
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f191632%2fhow-to-delete-old-backups-based-on-a-date-in-file-name%23new-answer', 'question_page');

      );

      Post as a guest















      Required, but never shown

























      3 Answers
      3






      active

      oldest

      votes








      3 Answers
      3






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      6














      The first problem in your code is that you are parsing ls. This means it will break very easily, if you have any spaces in your file or directory names for example. You should use shell globbing or find instead.



      A bigger problem is that you are not reading the data correctly. Your code:



      ls -1 | while read A DATE B FILE


      will never populate $FILE. The output of ls -1 is just a list of filenames so, unless those file names contain whitespace, only the first of the 4 variables you give to read will be populated.



      Here's a working version of your script:



      #!/usr/bin/env bash

      DELETE_OTHERS=yes
      BACKUPS_PATH=/mnt/!ARCHIVE/!backups
      THRESHOLD=$(date -d "3 days ago" +%Y%m%d%H%M)

      ## Find all files in $BACKUPS_PATH. The -type f means only files
      ## and the -maxdepth 1 ensures that any files in subdirectories are
      ## not included. Combined with -print0 (separate file names with ),
      ## IFS= (don't break on whitespace), "-d ''" (records end on '') , it can
      ## deal with all file names.
      find $BACKUPS_PATH -maxdepth 1 -type f -print0 | while IFS= read -d '' -r file
      do
      ## Does this file name match the pattern (13 digits, then .zip)?
      if [[ "$(basename "$file")" =~ ^[0-9]12.zip$ ]]
      then
      ## Delete the file if it's older than the $THR
      [ "$(basename "$file" .zip)" -le "$THRESHOLD" ] && rm -v -- "$file"
      else
      ## If the file does not match the pattern, delete if
      ## DELETE_OTHERS is set to "yes"
      [ $DELETE_OTHERS == "yes" ] && rm -v -- "$file"
      fi
      done





      share|improve this answer





























        6














        The first problem in your code is that you are parsing ls. This means it will break very easily, if you have any spaces in your file or directory names for example. You should use shell globbing or find instead.



        A bigger problem is that you are not reading the data correctly. Your code:



        ls -1 | while read A DATE B FILE


        will never populate $FILE. The output of ls -1 is just a list of filenames so, unless those file names contain whitespace, only the first of the 4 variables you give to read will be populated.



        Here's a working version of your script:



        #!/usr/bin/env bash

        DELETE_OTHERS=yes
        BACKUPS_PATH=/mnt/!ARCHIVE/!backups
        THRESHOLD=$(date -d "3 days ago" +%Y%m%d%H%M)

        ## Find all files in $BACKUPS_PATH. The -type f means only files
        ## and the -maxdepth 1 ensures that any files in subdirectories are
        ## not included. Combined with -print0 (separate file names with ),
        ## IFS= (don't break on whitespace), "-d ''" (records end on '') , it can
        ## deal with all file names.
        find $BACKUPS_PATH -maxdepth 1 -type f -print0 | while IFS= read -d '' -r file
        do
        ## Does this file name match the pattern (13 digits, then .zip)?
        if [[ "$(basename "$file")" =~ ^[0-9]12.zip$ ]]
        then
        ## Delete the file if it's older than the $THR
        [ "$(basename "$file" .zip)" -le "$THRESHOLD" ] && rm -v -- "$file"
        else
        ## If the file does not match the pattern, delete if
        ## DELETE_OTHERS is set to "yes"
        [ $DELETE_OTHERS == "yes" ] && rm -v -- "$file"
        fi
        done





        share|improve this answer



























          6












          6








          6







          The first problem in your code is that you are parsing ls. This means it will break very easily, if you have any spaces in your file or directory names for example. You should use shell globbing or find instead.



          A bigger problem is that you are not reading the data correctly. Your code:



          ls -1 | while read A DATE B FILE


          will never populate $FILE. The output of ls -1 is just a list of filenames so, unless those file names contain whitespace, only the first of the 4 variables you give to read will be populated.



          Here's a working version of your script:



          #!/usr/bin/env bash

          DELETE_OTHERS=yes
          BACKUPS_PATH=/mnt/!ARCHIVE/!backups
          THRESHOLD=$(date -d "3 days ago" +%Y%m%d%H%M)

          ## Find all files in $BACKUPS_PATH. The -type f means only files
          ## and the -maxdepth 1 ensures that any files in subdirectories are
          ## not included. Combined with -print0 (separate file names with ),
          ## IFS= (don't break on whitespace), "-d ''" (records end on '') , it can
          ## deal with all file names.
          find $BACKUPS_PATH -maxdepth 1 -type f -print0 | while IFS= read -d '' -r file
          do
          ## Does this file name match the pattern (13 digits, then .zip)?
          if [[ "$(basename "$file")" =~ ^[0-9]12.zip$ ]]
          then
          ## Delete the file if it's older than the $THR
          [ "$(basename "$file" .zip)" -le "$THRESHOLD" ] && rm -v -- "$file"
          else
          ## If the file does not match the pattern, delete if
          ## DELETE_OTHERS is set to "yes"
          [ $DELETE_OTHERS == "yes" ] && rm -v -- "$file"
          fi
          done





          share|improve this answer















          The first problem in your code is that you are parsing ls. This means it will break very easily, if you have any spaces in your file or directory names for example. You should use shell globbing or find instead.



          A bigger problem is that you are not reading the data correctly. Your code:



          ls -1 | while read A DATE B FILE


          will never populate $FILE. The output of ls -1 is just a list of filenames so, unless those file names contain whitespace, only the first of the 4 variables you give to read will be populated.



          Here's a working version of your script:



          #!/usr/bin/env bash

          DELETE_OTHERS=yes
          BACKUPS_PATH=/mnt/!ARCHIVE/!backups
          THRESHOLD=$(date -d "3 days ago" +%Y%m%d%H%M)

          ## Find all files in $BACKUPS_PATH. The -type f means only files
          ## and the -maxdepth 1 ensures that any files in subdirectories are
          ## not included. Combined with -print0 (separate file names with ),
          ## IFS= (don't break on whitespace), "-d ''" (records end on '') , it can
          ## deal with all file names.
          find $BACKUPS_PATH -maxdepth 1 -type f -print0 | while IFS= read -d '' -r file
          do
          ## Does this file name match the pattern (13 digits, then .zip)?
          if [[ "$(basename "$file")" =~ ^[0-9]12.zip$ ]]
          then
          ## Delete the file if it's older than the $THR
          [ "$(basename "$file" .zip)" -le "$THRESHOLD" ] && rm -v -- "$file"
          else
          ## If the file does not match the pattern, delete if
          ## DELETE_OTHERS is set to "yes"
          [ $DELETE_OTHERS == "yes" ] && rm -v -- "$file"
          fi
          done






          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Mar 21 '15 at 17:47

























          answered Mar 21 '15 at 17:38









          terdonterdon

          133k32265444




          133k32265444























              0














              don't you forget the sed line between ls -1 and while read, this line IS important.



              for first question I would suggest: (a awk remplacement I was unable to find a sed equivalent)



              ls -1 $BACKUPS_PATH????????????.zip |
              awk -F. 'printf "%s %sn",$1,$0 ;' |
              while read DATE FILE
              do
              [[ $DATE -le $THRESHOLD ]] && rm -v $BACKUPS_PATH$FILE
              done


              provided shell arithmetic are at least 37 bit wise to do the $DATE -le $THRESHOLD testing.






              share|improve this answer

























              • This breaks on whitespace and other strange characters.

                – terdon
                Mar 21 '15 at 17:45
















              0














              don't you forget the sed line between ls -1 and while read, this line IS important.



              for first question I would suggest: (a awk remplacement I was unable to find a sed equivalent)



              ls -1 $BACKUPS_PATH????????????.zip |
              awk -F. 'printf "%s %sn",$1,$0 ;' |
              while read DATE FILE
              do
              [[ $DATE -le $THRESHOLD ]] && rm -v $BACKUPS_PATH$FILE
              done


              provided shell arithmetic are at least 37 bit wise to do the $DATE -le $THRESHOLD testing.






              share|improve this answer

























              • This breaks on whitespace and other strange characters.

                – terdon
                Mar 21 '15 at 17:45














              0












              0








              0







              don't you forget the sed line between ls -1 and while read, this line IS important.



              for first question I would suggest: (a awk remplacement I was unable to find a sed equivalent)



              ls -1 $BACKUPS_PATH????????????.zip |
              awk -F. 'printf "%s %sn",$1,$0 ;' |
              while read DATE FILE
              do
              [[ $DATE -le $THRESHOLD ]] && rm -v $BACKUPS_PATH$FILE
              done


              provided shell arithmetic are at least 37 bit wise to do the $DATE -le $THRESHOLD testing.






              share|improve this answer















              don't you forget the sed line between ls -1 and while read, this line IS important.



              for first question I would suggest: (a awk remplacement I was unable to find a sed equivalent)



              ls -1 $BACKUPS_PATH????????????.zip |
              awk -F. 'printf "%s %sn",$1,$0 ;' |
              while read DATE FILE
              do
              [[ $DATE -le $THRESHOLD ]] && rm -v $BACKUPS_PATH$FILE
              done


              provided shell arithmetic are at least 37 bit wise to do the $DATE -le $THRESHOLD testing.







              share|improve this answer














              share|improve this answer



              share|improve this answer








              edited Mar 21 '15 at 16:57

























              answered Mar 21 '15 at 16:50









              ArchemarArchemar

              20.4k93973




              20.4k93973












              • This breaks on whitespace and other strange characters.

                – terdon
                Mar 21 '15 at 17:45


















              • This breaks on whitespace and other strange characters.

                – terdon
                Mar 21 '15 at 17:45

















              This breaks on whitespace and other strange characters.

              – terdon
              Mar 21 '15 at 17:45






              This breaks on whitespace and other strange characters.

              – terdon
              Mar 21 '15 at 17:45












              0














              In FreeBSD use:
              Example: find all files in /usr/home/foobar owned by foobar that are older than 5760 minutes (4 days) and delete them.



              find /usr/home/foobar -user foobar -type f -mmin +5760 -delete





              share|improve this answer



























                0














                In FreeBSD use:
                Example: find all files in /usr/home/foobar owned by foobar that are older than 5760 minutes (4 days) and delete them.



                find /usr/home/foobar -user foobar -type f -mmin +5760 -delete





                share|improve this answer

























                  0












                  0








                  0







                  In FreeBSD use:
                  Example: find all files in /usr/home/foobar owned by foobar that are older than 5760 minutes (4 days) and delete them.



                  find /usr/home/foobar -user foobar -type f -mmin +5760 -delete





                  share|improve this answer













                  In FreeBSD use:
                  Example: find all files in /usr/home/foobar owned by foobar that are older than 5760 minutes (4 days) and delete them.



                  find /usr/home/foobar -user foobar -type f -mmin +5760 -delete






                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Nov 19 '18 at 16:40









                  Santiago StaviskiSantiago Staviski

                  1




                  1



























                      draft saved

                      draft discarded
















































                      Thanks for contributing an answer to Unix & Linux Stack Exchange!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid


                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.

                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function ()
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f191632%2fhow-to-delete-old-backups-based-on-a-date-in-file-name%23new-answer', 'question_page');

                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      -bash, file-management, scripting, shell-script

                      Popular posts from this blog

                      Frič See also Navigation menuinternal link

                      Identify plant with long narrow paired leaves and reddish stems Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?What is this plant with long sharp leaves? Is it a weed?What is this 3ft high, stalky plant, with mid sized narrow leaves?What is this young shrub with opposite ovate, crenate leaves and reddish stems?What is this plant with large broad serrated leaves?Identify this upright branching weed with long leaves and reddish stemsPlease help me identify this bulbous plant with long, broad leaves and white flowersWhat is this small annual with narrow gray/green leaves and rust colored daisy-type flowers?What is this chilli plant?Does anyone know what type of chilli plant this is?Help identify this plant

                      fontconfig warning: “/etc/fonts/fonts.conf”, line 100: unknown “element blank” The 2019 Stack Overflow Developer Survey Results Are In“tar: unrecognized option --warning” during 'apt-get install'How to fix Fontconfig errorHow do I figure out which font file is chosen for a system generic font alias?Why are some apt-get-installed fonts being ignored by fc-list, xfontsel, etc?Reload settings in /etc/fonts/conf.dTaking 30 seconds longer to boot after upgrade from jessie to stretchHow to match multiple font names with a single <match> element?Adding a custom font to fontconfigRemoving fonts from fontconfig <match> resultsBroken fonts after upgrading Firefox ESR to latest Firefox