bash version 4.2.46(2)-release
[ggs@db-fs-1 ~]$ echo "$SHELL" /bin/bash [ggs@db-fs-1 ~]$ [ggs@db-fs-1 ~]$ echo $BASH_VERSION 4.2.46(2)-release [ggs@db-fs-1 ~]$
Demo 1:
[ggs@db-fs-1 ~]$ touch foo.log [ggs@db-fs-1 ~]$ file=foo.log [ggs@db-fs-1 ~]$ [ggs@db-fs-1 ~]$ ls -l $file*; cp -fv ${file%%.*}.{${file#*.},${file#*.}."$(date +%Y%m%d)"}; ls -l $file* -rw-r--r-- 1 ggs oinstall 0 Apr 29 05:49 foo.log ‘foo.log’ -> ‘foo.log.20200429’ -rw-r--r-- 1 ggs oinstall 0 Apr 29 05:49 foo.log -rw-r--r-- 1 ggs oinstall 0 Apr 29 05:50 foo.log.20200429 [ggs@db-fs-1 ~]$
Demo 2:
[ggs@db-fs-1 ~]$ touch archive.tar.gz [ggs@db-fs-1 ~]$ file=archive.tar.gz [ggs@db-fs-1 ~]$ [ggs@db-fs-1 ~]$ ls -l $file*; cp -fv ${file%%.*}.{${file#*.},${file#*.}."$(date +%Y%m%d)"}; ls -l $file* -rw-r--r-- 1 ggs oinstall 0 Apr 29 05:48 archive.tar.gz ‘archive.tar.gz’ -> ‘archive.tar.gz.20200429’ -rw-r--r-- 1 ggs oinstall 0 Apr 29 05:48 archive.tar.gz -rw-r--r-- 1 ggs oinstall 0 Apr 29 05:49 archive.tar.gz.20200429 [ggs@db-fs-1 ~]$
Demo 3: Rotate ggserr.log (only required because logrotate is not configured)
ggs@db-fs-1 ggs]$ file=ggserr.log [ggs@db-fs-1 ggs]$ ls -l $file*; cp -fv ${file%%.*}.{${file#*.},${file#*.}."$(date +%Y%m%d)"}; ls -l $file* -rw-r----- 1 ggs oinstall 534 Apr 29 06:04 ggserr.log ‘ggserr.log’ -> ‘ggserr.log.20200429’ -rw-r----- 1 ggs oinstall 534 Apr 29 06:04 ggserr.log -rw-r----- 1 ggs oinstall 534 Apr 29 06:05 ggserr.log.20200429 [ggs@db-fs-1 ggs]$ cat /dev/null > ggserr.log [ggs@db-fs-1 ggs]$ ls -l $file* -rw-r----- 1 ggs oinstall 0 Apr 29 06:05 ggserr.log -rw-r----- 1 ggs oinstall 534 Apr 29 06:05 ggserr.log.20200429 [ggs@db-fs-1 ggs]$
Demo 4:
[ggs@db-fs-1 ~]$ file=archive.tar.gz [ggs@db-fs-1 ~]$ ls -l $file*; mv -fv ${file%%.*}.{${file#*.},${file#*.}."$(date +%Y%m%d)"}; ls -l $file* -rw-r--r-- 1 ggs oinstall 0 Apr 29 05:48 archive.tar.gz -rw-r--r-- 1 ggs oinstall 0 Apr 29 05:49 archive.tar.gz.20200429 ‘archive.tar.gz’ -> ‘archive.tar.gz.20200429’ -rw-r--r-- 1 ggs oinstall 0 Apr 29 05:48 archive.tar.gz.20200429 [ggs@db-fs-1 ~]$
Why is this even important?
Consistent and mindless effort but need to remember syntax.