home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   alt.os.linux      Getting to be as bloated as Windows!      107,822 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 106,495 of 107,822   
   bad sector to Chris Elvidge   
   Re: pushing my bash luck   
   20 Sep 24 06:47:06   
   
   From: forgetski@_INVALID.net   
      
   On 9/19/24 11:35, Chris Elvidge wrote:   
   > On 19/09/2024 at 16:14, bad sector wrote:   
   >> On 9/19/24 11:01, Chris Elvidge wrote:   
   >>> On 19/09/2024 at 13:18, bad sector wrote:   
   >>>>   
   >>>> I want to devise a shutdown cron script that will make a dated rsync   
   >>>> backup of any directory under a particular path that had been   
   >>>> written to during the session and then shut down.   
   >>>>   
   >>>> The rsync command itself would look something like   
   >>>>   
   >>>> rsync -ahcEWXd /x/trees-planted/ /x/trees-$date (format   
   >>>> 2024-09-24-hr-m)   
   >>>>   
   >>>> The part that's over my head is for the script to know what   
   >>>> directory (under /x in this case) had been written to.   
   >>>>   
   >>>> Maybe there's a uti that already does this and I just have to invoke   
   >>>> IT with args in the script?   
   >>>>   
   >>>>   
   >>>   
   >>> Try it with a local function to override the built-in command?   
   >>>   
   >>> shutdown() {   
   >>> printf -v today '%(%Y-%m-%d_%H-%M)T'   
   >>> # this will put the contents of /x/trees-planted into the directory   
   >>> # /x/trees-2024-09-19_16-00   
   >>> rsync -ahcEWXd /x/trees-planted/ /x/trees-$today && /sbin/shutdown   
   >>> }   
   >>   
   >> thanks, that gives me the date to append which I don't need if doing   
   >> it manually but gotta have as part of any script.   
   >>   
   >>   
   > OK change second line to:   
   > if tty -s; then read -p "Give a value: " today; else printf -v today   
   > '%(%Y-%m-%d_%H-%M)T'; fi   
   >   
   >   
   Thanks, my highness is at scripting level 10,   
   meaning that for every line I need 10 comment   
   lines explaining that one line to myself.   
      
   I thought I had it made but screwed it up. This   
   script gives me the youngest file date but only   
   in the first directory, the loop isn't viable.   
      
      
   cd /x   
   for d in [0-9][0-9][0-9]   
   do   
   ##################################################   
   # the 1st ls in next line tells you where you are.   
   # the find command coughs up the youngest file mod date   
   ##################################################   
        ( cd "$d" && ls; find . -not -type d -printf "%TY.%Tm.%Td\n" | sort   
   -n | tail -1   
   )   
   done   
      
   I would also like to break the steps up between the sub shell brackets   
   but I don't know if that needs to remain on a single line.   
      
   The plan would be, in that sub shell, to enter every 1st depth directory   
   under /x  such as say /x/1 to x99 and find if that directory has a   
   younger file than the youngest one in its backup under /y such as /y/1   
   ...recursively under /y because there may be several date-appended   
   back-levelable versions of 1 there already.   
      
   /y is a copy of the last backup made, usually a couple of months old, I   
   would know that it's time for a new one when some of its 1st depth   
   directories have too many interim backlevel copies already such as   
   /y/3-2024-08-19 etc.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca