Re: OT: bashfråga (igen)

2015-04-03 tråd jan
On Thu, 2 Apr 2015 20:52:09 +0200
Per Andersson avtob...@gmail.com wrote:

 2015-04-01 11:59 GMT+02:00  j...@lillahusetiskogen.se:
  On Wed, 1 Apr 2015 01:47:34 +0200
 
  Jo, jag menade modifieringstiden... Och när jag skapar arkivet.
 
  Scripten finns i bifogad fil, svnbackup.txt.
 
  crontab kör det första scriptet svnback.sh
  svnback.sh kör svndo.sh två gånger
  svndo skapar run.sh som sköter arkiveringen
 
 I scriptet svndo.sh
 
 find $SVN/$1 -newer OLDDATE -exec touch CHANGED {} \;
 
 Ovanstående rad kommer att exekvera touch med alla filer som är nyare
 än filen OLDDATE som argument. Det är därför dina timestamps blir
 uppdaterade då touch uppdaterar atime, ctime och mtime. Det kan räcka
 om du tar bort {}, som ersätts med aktuellt filnamn.
 
 
 Om du inte redan testat dem kan jag rekommendera obnam eller
 rdiff-backup för backuper.
 
 
 --
 Per
 
 

Tack så mycket!

Problemet löst tack vara debianlistan. Vad gjorde jag utan den?

mvh
/Janne


--
To UNSUBSCRIBE, email to debian-user-swedish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20150403105035.67babd14@igor



Re: OT: bashfråga (igen)

2015-04-02 tråd Per Andersson
2015-04-01 11:59 GMT+02:00  j...@lillahusetiskogen.se:
 On Wed, 1 Apr 2015 01:47:34 +0200

 Jo, jag menade modifieringstiden... Och när jag skapar arkivet.

 Scripten finns i bifogad fil, svnbackup.txt.

 crontab kör det första scriptet svnback.sh
 svnback.sh kör svndo.sh två gånger
 svndo skapar run.sh som sköter arkiveringen

I scriptet svndo.sh

find $SVN/$1 -newer OLDDATE -exec touch CHANGED {} \;

Ovanstående rad kommer att exekvera touch med alla filer som är nyare än
filen OLDDATE som argument. Det är därför dina timestamps blir uppdaterade
då touch uppdaterar atime, ctime och mtime. Det kan räcka om du tar bort
{}, som ersätts med aktuellt filnamn.


Om du inte redan testat dem kan jag rekommendera obnam eller rdiff-backup
för backuper.


--
Per


--
To UNSUBSCRIBE, email to debian-user-swedish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
https://lists.debian.org/CABYrXSTZVkTpiy-p=M3R6XL=pkefmtkbalfsqgafdyzhrmp...@mail.gmail.com



Re: OT: bashfråga (igen)

2015-04-01 tråd jan
On Wed, 1 Apr 2015 01:47:34 +0200
Per Andersson avtob...@gmail.com wrote:

 2015-03-31 19:27 GMT+02:00  j...@lillahusetiskogen.se:
  Hej!
 
  Nu har jag en ny fråga. Följande kommandorad i ett script:
 
  tar czf /data/test/fw_m8boot_20150331_191001.tgz /data/svn/fw_m8boot
 
  Ändrar creation date (det är väl det som syns i ls -l?) rekursivt i
  hela /data/svn/fw_m8boot. Verkar helt bisarrt. Eller ska det vara
  så? I så fall får jag kopiera mappen och sedan köra tar. Jag har
  inte lagt märke till det tidigare direkt i bash.
 
 Menar du att det ändras i /data/svn/fw_m8boot när du gör arkivet?
 Eller menar du när du extraherar arkivet?
 
 Utifrån vad du berättar kan jag inte reproducera beteendet.
 
 
 Gör scriptet något mer?
 
 Vad kör du för version av tar?
 
 Har du något relevant för tar i din miljö (env | grep TAR) ?
 
 
 Det som ls -l visar är modifieringstiden, mtime, dvs när datan i filen
 ändrades.
 
 
 --
 Per
 
 

Jag är fortfarande väldigt förbryllad. Med lite tur är det bara jag som
är korkad.

Jo, jag menade modifieringstiden... Och när jag skapar arkivet.

Scripten finns i bifogad fil, svnbackup.txt.

crontab kör det första scriptet svnback.sh
svnback.sh kör svndo.sh två gånger
svndo skapar run.sh som sköter arkiveringen

Versionen är tar (GNU tar) 1.26 och inget relevant för tar i miljön.

Versionen av Debian är 7.8.
Linux sloth 3.2.0-4-686-pae #1 SMP Debian 3.2.65-1 i686 GNU/Linux


I filen resultat.txt finns listning av vad som händer.

När jag skrev scripten testade jag på min desktopdator och där fungerar
det som väntat.

/Janne
root@sloth:/data/svn# cat svnback.sh 
#!/bin/bash

touch WHEN

#create a file with the date without trailing LF
date +%Y%m%d_%H%M%S | tr -d '\n'  NEWDATE

#do needed backups
./svndo.sh fw_m8a
./svndo.sh fw_m8boot

#save date
mv NEWDATE OLDDATE

#EOF

 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8

root@sloth:/data/svn# cat svndo.sh 
#!/bin/bash

TARGET=/data/test
SVN=/data/svn

#check if repository changed since last time
rm CHANGED 2 /dev/null
find $SVN/$1 -newer OLDDATE -exec touch CHANGED {} \;

if [ -e CHANGED ]; then
  echo $1 will be backed up  svn.log

  echo -n tar czf $TARGET/$1_  run.sh
  cat NEWDATE  run.sh
  echo .tgz $SVN/$1  run.sh

  sh run.sh

else
  echo $1 already backed up  svn.log
fi

#EOF

 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8

root@sloth:/data/svn# cat run.sh 
tar czf /data/test/fw_m8boot_20150401_113318.tgz /data/svn/fw_m8boot
root@sloth:/data/svn# 
root@sloth:/data/svn# ls -lR fw_m8a/
fw_m8a/:
total 24
-rwxrwxrwx 1 root svn  229 Apr  1 11:33 README.txt
drwxrwxrwx 2 root svn 4096 Apr  1 11:33 conf
drwxrwsrwx 6 root svn 4096 Apr  1 11:33 db
-rwxrwxrwx 1 root svn2 Apr  1 11:33 format
drwxrwxrwx 2 root svn 4096 Apr  1 11:33 hooks
drwxrwxrwx 2 root svn 4096 Apr  1 11:33 locks

fw_m8a/conf:
total 12
-rwxrwxrwx 1 root svn 1080 Apr  1 11:33 authz
-rwxrwxrwx 1 root svn  309 Apr  1 11:33 passwd
-rwxrwxrwx 1 root svn 2279 Apr  1 11:33 svnserve.conf

fw_m8a/db:
total 64
-rwxrwxrwx 1 jan  svn 2 Apr  1 11:33 current
-rwxrwxrwx 1 root svn22 Apr  1 11:33 format
-rwxrwxrwx 1 root svn 5 Apr  1 11:33 fs-type
-rwxrwxrwx 1 root svn  1920 Apr  1 11:33 fsfs.conf
-rwxrwxrwx 1 root svn 2 Apr  1 11:33 min-unpacked-rev
-rwxrwxrwx 1 jan  svn 17408 Apr  1 11:33 rep-cache.db
drwxrwsrwx 3 root svn  4096 Apr  1 11:33 revprops
drwxrwsrwx 3 root svn  4096 Apr  1 11:33 revs
drwxrwsrwx 2 root svn  4096 Apr  1 11:33 transactions
-rwxrwxrwx 1 jan  svn 2 Apr  1 11:33 txn-current
-rwxrwxrwx 1 root svn 0 Apr  1 11:33 txn-current-lock
drwxrwsrwx 2 root svn  4096 Apr  1 11:33 txn-protorevs
-rwxrwxrwx 1 root svn37 Apr  1 11:33 uuid
-rwxrwxrwx 1 root svn 0 Apr  1 11:33 write-lock

fw_m8a/db/revprops:
total 4
drwxrwsrwx 2 root svn 4096 Apr  1 11:33 0

fw_m8a/db/revprops/0:
total 16
-rwxrwxrwx 1 root svn  50 Apr  1 11:33 0
-rwxrwxrwx 1 jan  svn 112 Apr  1 11:33 1
-rwxrwxrwx 1 jan  svn 110 Apr  1 11:33 2
-rwxrwxrwx 1 jan  svn 134 Apr  1 11:33 3

fw_m8a/db/revs:
total 4
drwxrwsrwx 2 root svn 4096 Apr  1 11:33 0

fw_m8a/db/revs/0:
total 652
-rwxrwxrwx 1 root svn115 Apr  1 11:33 0
-rwxrwxrwx 1 jan  svn 299692 Apr  1 11:33 1
-rwxrwxrwx 1 jan  svn 286884 Apr  1 11:33 2
-rwxrwxrwx 1 jan  svn  67665 Apr  1 11:33 3

fw_m8a/db/transactions:
total 0

fw_m8a/db/txn-protorevs:
total 0

fw_m8a/hooks:
total 36
-rwxrwxrwx 1 root svn 2022 Apr  1 11:33 post-commit.tmpl
-rwxrwxrwx 1 root svn 1663 Apr  1 11:33 post-lock.tmpl
-rwxrwxrwx 1 root svn 2344 Apr  1 11:33 post-revprop-change.tmpl
-rwxrwxrwx 1 root svn 1592 Apr  1 11:33 post-unlock.tmpl
-rwxrwxrwx 1 root svn 3510 Apr  1 11:33 pre-commit.tmpl
-rwxrwxrwx 1 root svn 2410 Apr  1 11:33 pre-lock.tmpl
-rwxrwxrwx 1 root svn 2818 Apr  1 11:33 pre-revprop-change.tmpl
-rwxrwxrwx 1 root svn 2100 Apr  1 11:33 pre-unlock.tmpl
-rwxrwxrwx 1 root svn 2852 Apr  1 11:33 start-commit.tmpl

fw_m8a/locks:
total 8
-rwxrwxrwx 1 root svn 139 Apr  1 11:33 db-logs.lock
-rwxrwxrwx 1 root svn 139 Apr  1 11:33 db.lock
root@sloth:/data/svn# 

Re: OT: bashfråga (igen)

2015-04-01 tråd jan
On Wed, 01 Apr 2015 13:46:03 +0200
Sven Arvidsson s...@whiz.se wrote:

 On Tue, 2015-03-31 at 19:27 +0200, j...@lillahusetiskogen.se wrote:
  Hej!
  
  Nu har jag en ny fråga. Följande kommandorad i ett script:
  
  tar czf /data/test/fw_m8boot_20150331_191001.tgz /data/svn/fw_m8boot
  
  Ändrar creation date (det är väl det som syns i ls -l?) rekursivt i
  hela /data/svn/fw_m8boot. Verkar helt bisarrt. Eller ska det vara
  så? I så fall får jag kopiera mappen och sedan köra tar. Jag har
  inte lagt märke till det tidigare direkt i bash.
 
 Det är inte så att du använder nåt konstigt filsystem på /data ?
 

Nej vanligt ext4.

/Janne


--
To UNSUBSCRIBE, email to debian-user-swedish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20150401141235.34b6b520@igor



Re: OT: bashfråga (igen)

2015-04-01 tråd Sven Arvidsson
On Tue, 2015-03-31 at 19:27 +0200, j...@lillahusetiskogen.se wrote:
 Hej!
 
 Nu har jag en ny fråga. Följande kommandorad i ett script:
 
 tar czf /data/test/fw_m8boot_20150331_191001.tgz /data/svn/fw_m8boot
 
 Ändrar creation date (det är väl det som syns i ls -l?) rekursivt i
 hela /data/svn/fw_m8boot. Verkar helt bisarrt. Eller ska det vara så? I
 så fall får jag kopiera mappen och sedan köra tar. Jag har inte lagt
 märke till det tidigare direkt i bash.

Det är inte så att du använder nåt konstigt filsystem på /data ?

-- 
Cheers,
Sven Arvidsson
http://www.whiz.se
PGP Key ID 6FAB5CD5




signature.asc
Description: This is a digitally signed message part


Re: OT: bashfråga (igen)

2015-03-31 tråd jan
Hej!

Nu har jag en ny fråga. Följande kommandorad i ett script:

tar czf /data/test/fw_m8boot_20150331_191001.tgz /data/svn/fw_m8boot

Ändrar creation date (det är väl det som syns i ls -l?) rekursivt i
hela /data/svn/fw_m8boot. Verkar helt bisarrt. Eller ska det vara så? I
så fall får jag kopiera mappen och sedan köra tar. Jag har inte lagt
märke till det tidigare direkt i bash.

/Janne


--
To UNSUBSCRIBE, email to debian-user-swedish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20150331192739.32e4992c@igor



Re: OT: bashfråga (igen)

2015-03-31 tråd Per Andersson
2015-03-31 19:27 GMT+02:00  j...@lillahusetiskogen.se:
 Hej!

 Nu har jag en ny fråga. Följande kommandorad i ett script:

 tar czf /data/test/fw_m8boot_20150331_191001.tgz /data/svn/fw_m8boot

 Ändrar creation date (det är väl det som syns i ls -l?) rekursivt i
 hela /data/svn/fw_m8boot. Verkar helt bisarrt. Eller ska det vara så? I
 så fall får jag kopiera mappen och sedan köra tar. Jag har inte lagt
 märke till det tidigare direkt i bash.

Menar du att det ändras i /data/svn/fw_m8boot när du gör arkivet?
Eller menar du när du extraherar arkivet?

Utifrån vad du berättar kan jag inte reproducera beteendet.


Gör scriptet något mer?

Vad kör du för version av tar?

Har du något relevant för tar i din miljö (env | grep TAR) ?


Det som ls -l visar är modifieringstiden, mtime, dvs när datan i filen
ändrades.


--
Per


--
To UNSUBSCRIBE, email to debian-user-swedish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
https://lists.debian.org/CABYrXSTrVaD1Qz97=whelcjbgfw_uwyqo79kxumjir+eyjk...@mail.gmail.com



Re: OT: bashfråga

2015-03-30 tråd Peter Krefting

j...@lillahusetiskogen.se:

Skulle naturligtvis kunna skriva ett C-program som ger mig exakt det 
men jag skulle vilja göra det i ett bash-script.


http://lmgtfy.com/?q=cut+newline+from+end+of+line+linux+bash ger mig:

  date +%Y%m%d_%H%M%S | xargs echo -n

Fast det ger tre binärer (date, xargs och echo), då kanske Perl kan 
vara snabbare:


  perl -e 'use POSIX;print strftime(%Y%m%d_%H%M%S,localtime)'

--
\\// Peter - http://www.softwolves.pp.se/


--
To UNSUBSCRIBE, email to debian-user-swedish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
https://lists.debian.org/alpine.deb.2.00.1503301506550.31...@ds9.cixit.se



Re: OT: bashfråga

2015-03-30 tråd jan
On Mon, 30 Mar 2015 16:14:36 +0200
Andreas Ronnquist mailingli...@gusnan.se wrote:

 date +%Y%m%d_%H%M%S | tr -d '\n'

Stort tack Peter och Andreas!

mvh
/Janne


-- 
To UNSUBSCRIBE, email to debian-user-swedish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20150330162038.337ac59e@igor



Re: OT: bashfråga

2015-03-30 tråd Michael Kjörling
On 30 Mar 2015 15:59 +0200, from j...@lillahusetiskogen.se:
 Jag behöver en fil som innehåller en datumsträng utan LF i slutet.
 Skulle naturligtvis kunna skriva ett C-program som ger mig exakt det
 men jag skulle vilja göra det i ett bash-script.
 
 Nedanstående fungerar men det känns väldigt yxigt, speciellt
 sed-kommandot. Någon som har ett bättre förslag?
 
 date +%Y%m%d_%H%M%S  tmp
 sed s/\
 // tmp  NEWDATE 2 /dev/null

$ echo -n $(date +'%Y%m%d_%H%M%S')  tmp
$ hexdump -C tmp
  32 30 31 35 30 33 33 30  5f 31 36 31 39 30 37 |20150330_161907|
000f
$

kanske kan vara något?

Alternativt använd printf istället för echo -n:

$ printf %s $(date +'%Y%m%d_%H%M%S')  tmp

för samma resultat.

-- 
Michael Kjörling • https://michael.kjorling.se • mich...@kjorling.se
OpenPGP B501AC6429EF4514 https://michael.kjorling.se/public-keys/pgp
 “People who think they know everything really annoy
 those of us who know we don’t.” (Bjarne Stroustrup)


-- 
To UNSUBSCRIBE, email to debian-user-swedish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20150330142211.gc15...@yeono.kjorling.se



Re: OT: bashfråga

2015-03-30 tråd Michael Kjörling
On 30 Mar 2015 15:09 +0100, from pe...@softwolves.pp.se (Peter Krefting):
 Fast det ger tre binärer (date, xargs och echo), då kanske Perl kan
 vara snabbare:
 
   perl -e 'use POSIX;print strftime(%Y%m%d_%H%M%S,localtime)'

Om du tror att svaret är Perl är snabbare så är det mest troligt fel
på frågan. :-)

Då vinner nog min lösning med printf, endast en relativt lättviktig
binär (date; _någon_ variant på det temat är nog svår att undvika) som
ska startas, och printf är inbyggt i bash.

-- 
Michael Kjörling • https://michael.kjorling.se • mich...@kjorling.se
OpenPGP B501AC6429EF4514 https://michael.kjorling.se/public-keys/pgp
 “People who think they know everything really annoy
 those of us who know we don’t.” (Bjarne Stroustrup)


-- 
To UNSUBSCRIBE, email to debian-user-swedish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20150330142740.gd15...@yeono.kjorling.se



Re: OT: bashfråga

2015-03-30 tråd Sven Arvidsson
On Mon, 2015-03-30 at 15:59 +0200, j...@lillahusetiskogen.se wrote:
 Jag behöver en fil som innehåller en datumsträng utan LF i slutet.
 Skulle naturligtvis kunna skriva ett C-program som ger mig exakt det
 men jag skulle vilja göra det i ett bash-script.
 
 Nedanstående fungerar men det känns väldigt yxigt, speciellt
 sed-kommandot. Någon som har ett bättre förslag?
 
 date +%Y%m%d_%H%M%S  tmp
 sed s/\
 // tmp  NEWDATE 2 /dev/null
 
 Med hopp om svar.
 /Janne

Det går i iaf att förenkla det:

date +%Y%m%d_%H%M%S | tr -d '\n'

Men om du läser in det värdet som en variabel i ett script tror jag inte
det spelar någon roll med newline på slutet eller inte.

-- 
Cheers,
Sven Arvidsson
http://www.whiz.se
PGP Key ID 6FAB5CD5




signature.asc
Description: This is a digitally signed message part


Re: OT: bashfråga

2015-03-30 tråd jan
On Mon, 30 Mar 2015 16:30:36 +0200
Sven Arvidsson s...@whiz.se wrote:

 On Mon, 2015-03-30 at 15:59 +0200, j...@lillahusetiskogen.se wrote:
  Jag behöver en fil som innehåller en datumsträng utan LF i slutet.
  Skulle naturligtvis kunna skriva ett C-program som ger mig exakt det
  men jag skulle vilja göra det i ett bash-script.
  
  Nedanstående fungerar men det känns väldigt yxigt, speciellt
  sed-kommandot. Någon som har ett bättre förslag?
  
  date +%Y%m%d_%H%M%S  tmp
  sed s/\
  // tmp  NEWDATE 2 /dev/null
  
  Med hopp om svar.
  /Janne
 
 Det går i iaf att förenkla det:
 
 date +%Y%m%d_%H%M%S | tr -d '\n'
 
 Men om du läser in det värdet som en variabel i ett script tror jag
 inte det spelar någon roll med newline på slutet eller inte.
 

Många lösningar blev det...

Det jag gör är att jag skapar en fil med ett kommando där det ingår ett
filnamn med datumet mitt i. Sedan exekverar jag den filen.

Är helt övertygar om att det finns bättre sätt men om man nästan aldrig
programmerar bash så gäller det att inte krångla till det.

/Janne


--
To UNSUBSCRIBE, email to debian-user-swedish-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20150330170409.69553039@igor



Re: OT: bashfråga

2015-03-30 tråd Anders Jackson
Hej.

Den 30 mar 2015 16:00 skrev j...@lillahusetiskogen.se:

 Jag behöver en fil som innehåller en datumsträng utan LF i slutet.
 Skulle naturligtvis kunna skriva ett C-program som ger mig exakt det
 men jag skulle vilja göra det i ett bash-script.

Vilket är program, så det fungerar.

 Nedanstående fungerar men det känns väldigt yxigt, speciellt
 sed-kommandot. Någon som har ett bättre förslag?

 date +%Y%m%d_%H%M%S  tmp
 sed s/\
 // tmp  NEWDATE 2 /dev/null

Varför pipar du inte utmatningen från date(1) direkt in i sed(1)?

$ date +%Y%m%d_%H%M%S | sed -e s/\n// -

Annars så läser man på manualsidan för date och ser att ISO8601 stöds
direkt (exempelvis med växeln --Isecond till date) eller för datum kan %x
eller %F var bra val och tid %X eller %T kan vara lämpliga val, om formatet
inte är hugget i sten.  Notera skillnaden mellan x och F och X T i
manualsidan.  Samt att växeln -n till echo(1) inte skriver ut något
nyradstecken.

$ date +%x_%X
2015-03-30_17:28:47
$ date +%F_%T
2015-03-30_17:28:49

$ mydate=$(date +%F_%T | sed -e s/-//g -e s/://g -)
$ echo -n $mydate | hexdump -C
  32 30 31 35 30 33 33 30  5f 31 37 32 37 31 31
|20150330_172711|
000f

eller för ANSI-standard och inte bashism, dvs `` istf $()

$ echo -n `date +%F_%T | sed -e s/-//g -e s/://g -` | hexdump -C
  32 30 31 35 30 33 33 30  5f 31 37 33 32 32 37
|20150330_173227|
000f

eller använd tr(1) för att ta bort tecken

$ date +%F_%T | tr -d [:space:]:- | hexdump -C
  32 30 31 35 30 33 33 30  5f 31 37 32 34 34 37
|20150330_172447|
000f

eller använd printf(1) eller perl(1) eller python(1) för att ta bort \n.
Men enklast är nog echo(1) med växeln -n samt att exekvera date(1) i ett
Command Substitution, se manualsidan för bash(1).

man 1 bash  # skriv sedan /\$\( följt av enter och / följt av enter tills
du hittar $(command), då backar du ett steg med b.

 Med hopp om svar.
 /Janne

/Jackson

PS:
Tack Michael för hexdump(1)
DS: