Husk, at der kan være forskel på store og små bogstaver i kodeordet

Har du glemt dit kodeord?

NAVIGATION

PROFIL

  • login
  • Har du ikke en profil så kan du oprette en her

SoMe


HJERTE MODTAGERE
Flest hjerter de sidste 14 dage
HJERTE MODTAGERE
Flest hjerter 'All Time High'
60
55
SØG I FORUM
FORUM KATEGORIER
Du skal have en profil på macnyt for, at deltage aktivt.
Det er gratis og du kan gøre det her.
Du er ikke logget ind på macnyt. Har du ikke en profil på macnyt så opret en her
Kategori: Apple's operativsystem til Mac (macOS)
macnyt  /  forum  /  emne
Script til at flytte en folder (incl struktur) til en anden
Kategori: Apple's operativsystem til Mac (macOS)

11

1
11. juli 2019 @ 10:30
Nyt medlem
Mit overvågningskamera gemmer pt. filer på Dropbox. Jeg vil gerne gemme dem i fuld opløsning, men så har jeg lige knap plads nok i dropbox, til at være væk i længere perioder. Derfor vil jeg gerne tømme filerne fra dropbox over på en anden folder (ekstern disk), fx. en gang i døgnet. 


Hvilken metode er den nemmeste bedste. Det er vha google tidligere lykkedes mig at sætte scripts op til at køre regelmæssigt, så det kunne jeg sikkert godt finde ud af igen. Apple Script har jeg ingen erfaring i.

En færdigopskrift er selvf. velkommen, men hjælp til selvhjælp er også fint.

  20
2
  452

468

38
PallMei (Skribent)
11. juli 2019 @ 11:09
Seniormedlem

Hvis det må ske ligeså snart de ankommer istedet for en gang i døgnet, er det meget meget let at lave en mappekommando i automator.

Mappe kommandoer er en indbygget funktion som du kan tilføje mapper ved at højre klikke i finder og vælge Indstil mappekommandoer

Men inden du kan tilføje den, er du nødt at lave den ved at lave den i Automator:

  • Start Automator
  • vælg Nyt dokument
  • vælg Mappekommando
  • Vælg handlinger (allerede valgt fra start) og søg flyt i søgefeltet
  • Vælg Flyt Finderemner og træk den over i droptarget-rubrikken til højre.
  • Vælg hvilken mappe de skal flyttes til. Standard er skrivebord.
  • Evt. vælg din dropbox mappe i Mappekommando modtager arkiver og mapper føjet til, så behøver du ikke gøre det i finder.
  • cmd+S for at gemme den

Nu skulle det virke og du kan teste ved at kopiere en fil ind i dropbox-mappen.

Sidenhen kan du nu redigere den fra Indstil mappekommandoer i finder. 


11

1
11. juli 2019 @ 11:11
Nyt medlem

Tak. Har lige testet, og det virker....sådan da.

Problemet er at kameraet laver sin egen mappestruktur, og det ser ud til at mappekommandoer kun virker på rod-mappen. Jeg vil gerne have det til at virke rekursivt, så når der bliver tilføjet noget ien undermappe, så kører actionen.



11

1
11. juli 2019 @ 11:17
Nyt medlem

Hov nej, jeg tror jeg fik noget til at virke...øjeblik



11

1
11. juli 2019 @ 11:31
Nyt medlem

Det gjorde jeg så ikke. Jeg kan godt flytte rekursivt vha.

https://www.dropbox.com/s/z3t1ua8v0y17d6o/Sk%C3%A6rmbillede%202019-07-11%2011.31.15.png?dl=0

men den trigger kun på den øverste mappe.


468

38
PallMei (Skribent)
11. juli 2019 @ 11:38
Seniormedlem
Pastorius skrev:

Det gjorde jeg så ikke. Jeg kan godt flytte rekursivt vha.

https://www.dropbox.com/s/z3t1ua8v0y17d6o/Sk%C3%A6rmbillede%202019-07-11%2011.31.15.png?dl=0

men den trigger kun på den øverste mappe.

Ok. Jeg ser om jeg kan finde en løsning. Til gengæld fandt jeg en måde at køre periodisk. 

  • Du opretter en aftale i kalender med den frekvens du ønsker. 
  • Vælger speciel ved advarsel
  • Vælger åben arkiv istedet for besked
  • Vælger Anden istedet for kalender
  • Vælger dit Automator script og det skulle nu køre

Med forbehold for at jeg ikke selv har testet det. Men der er ifølge https://smallbusiness.chron.com/schedule-automator-tasks-mac-os-x-39132.html 


11

1
11. juli 2019 @ 11:40
Nyt medlem

Det kunne virke. Den anden måde er også ok, midlertidigt. Kameraet opretter en folder pr. måned, så skal jeg bare add'e den nye folder ved månedsskifte.


11

1
11. juli 2019 @ 11:53
Nyt medlem

Det virker også kun delvist. Den åbner handlingen i automator, men kører den ikke automatisk. Det må kunne fikses. Roder videre.


468

38
PallMei (Skribent)
11. juli 2019 @ 12:00
Seniormedlem
Pastorius skrev:

Det kunne virke. Den anden måde er også ok, midlertidigt. Kameraet opretter en folder pr. måned, så skal jeg bare add'e den nye folder ved månedsskifte.

Ja, hvad jeg lige hurtigt har kunnet finde ud af, så trigger ændringer inde i en undermappe ikke en Mappekommando. Så enten skal du tilføje mappekommandoen på nye undermapper eller bruge en periodisk trigger.

Men hvorfor nøjes, hvis man kunne lave en periodisk trigger der tilføjede mappekommandoen på nye undermapper 😁


468

38
PallMei (Skribent)
11. juli 2019 @ 12:06
Seniormedlem
PallMei skrev:
Pastorius skrev:

Det kunne virke. Den anden måde er også ok, midlertidigt. Kameraet opretter en folder pr. måned, så skal jeg bare add'e den nye folder ved månedsskifte.

Ja, hvad jeg lige hurtigt har kunnet finde ud af, så trigger ændringer inde i en undermappe ikke en Mappekommando. Så enten skal du tilføje mappekommandoen på nye undermapper eller bruge en periodisk trigger.

Men hvorfor nøjes, hvis man kunne lave en periodisk trigger der tilføjede mappekommandoen på nye undermapper 😁

Alternativt finde en app der kan gøre det. Denne kunne være et bud, men desværre ikke gratis, faktisk ret dyr efter min mening. https://www.noodlesoft.com/


11

1
11. juli 2019 @ 12:12
Nyt medlem

Jeg tror jeg skal lave et nyt automator-script - det skal bare være af typen program. Er i gang.


468

38
PallMei (Skribent)
11. juli 2019 @ 12:14
Seniormedlem
Pastorius skrev:

Jeg tror jeg skal lave et nyt automator-script - det skal bare være af typen program. Er i gang.

👍👍


11

1
11. juli 2019 @ 13:12
Nyt medlem

...og det var selvfølgelig hvad der skulle til.


468

38
PallMei (Skribent)
11. juli 2019 @ 13:56
Seniormedlem
Pastorius skrev:

...og det var selvfølgelig hvad der skulle til.

Alle tiders, hvordan løste du det? samme forsøg som dit skærmbilled? Jeg forsøgte med Hent mappeindhold, måske det også ville fungere anderledes som program 🤔


11

1
11. juli 2019 @ 14:23
Nyt medlem

Øverst “find filer” i relevant mappe, og filter på *.ts, dernæst move til rette folder.. Gemt som program, og derefter en kalender action til at starte Automator-scriptet en gang om dagen.

Scriptet bevarer ikke mappesturkturen, men kopier alle .ts-filer fra hierarkiet til en folder.
Folderen replikerer til Jottacloud. Parallelt kører jeg en FTP-forbindelse til min NAS.

Det burde sikre nogenlunde mod brand og tyveri af hardware, uden at det koster mig en formue. Ingen subscriptions, bare udgift til hardware og jottacloud (som jeg i forvejen bruger).

Strømafbrydelse kan jeg ikke gardere mig imod, men det trigger en alarm, selv hvis netværk går ned, og alt der er optaget ca. et minutter inden bliver gemt.



468

38
PallMei (Skribent)
11. juli 2019 @ 15:21
Seniormedlem
Pastorius skrev:

Øverst “find filer” i relevant mappe, og filter på *.ts, dernæst move til rette folder.. Gemt som program, og derefter en kalender action til at starte Automator-scriptet en gang om dagen.

Scriptet bevarer ikke mappesturkturen, men kopier alle .ts-filer fra hierarkiet til en folder.
Folderen replikerer til Jottacloud. Parallelt kører jeg en FTP-forbindelse til min NAS.

Det burde sikre nogenlunde mod brand og tyveri af hardware, uden at det koster mig en formue. Ingen subscriptions, bare udgift til hardware og jottacloud (som jeg i forvejen bruger).

Strømafbrydelse kan jeg ikke gardere mig imod, men det trigger en alarm, selv hvis netværk går ned, og alt der er optaget ca. et minutter inden bliver gemt.

Super. Her er lidt inspiration og pudse videre på. Jeg prøvede lige med Hent mappeindhold og den ser ud til at tage mappe strukturen med. Den sletter dog også hvad der var, så håber dit kamera opretter en ny mappe næste gang den vil gemme. Ellers må du erstatte Flyt Finderemner med Kopier Finderemner og derunder tilføje din find rutine bare med flytning til papirkurv istedet. 😎


769

60
11. juli 2019 @ 20:14
Veteran

med fare for at jeg misforstået hvad der ønskes, så tænker jeg en BASH script vil være den mest optimale.

det hele foregå i terminalen...

opret filen i f.eks. /Users/bruger1/tmp/test.sh og åben den med at skrive 

nano /Users/bruger1/tmp/test.sh

og så skal du skrive nedenstående...

#!/bin/bash

source=/Users/bruger1/tmp/1/
destination=/Users/bruger1/tmp/2/

cp -R $source $destination

dette vil kopiere alle filer fra en mappe over til en anden. Så det eneste du skal er at ændre sti til source og destination variablerne... den tager både filer og mapper fra "source" og kopiere dem over i "destination"

det eneste du skal så gøre er at oprette en cron job til at starte det. 

skiv nedenstående 

crontab -e

og så skal du ellers endnu en gang skrive en linije kode :D i en editor fra 70'erne... 

tast "I" (insert) for at få lov at skrive tekst.

så begynder du at skrive og du skal skrive nedenstående...

30 02 * * * /Users/bruger1/test.sh

dette metode vil køre test.sh script hver dag kl 02.30. hvis maskinen ikke er tændt så vil den ikke køre.

der findes så en anden metode, som kan indstilles at køre på et specifik tidspunkt, og hvis den ikke er kørt, så vil den køre når det er tidligst muligt. dvs. hvis maskinen er sat til at køre den kl 02.30 og maskinen ikke er tændt, så vil kommandoen blive eksekveret ved første opstart eller login. men denne kræver lidt mere end denne. :)




769

60
11. juli 2019 @ 20:55
Veteran

glemte lige det vigtigste... duh!

når man har skrevet den sidste linie, så skal man trykke ESC en gang. for at komme ud af "insert" tilstand.

Og derfter taste ":wq!" 

for at gemme og afslutte programmet.



769

60
11. juli 2019 @ 21:51
Veteran

Så fik jeg lige testet med launchd propertylist som svarer til "moderne" cron jobs i macos og andre *nix systemer...

i sin bruger mappe kan der oprettes en property list fil som vil loades ved genstart. og ellers køre med de variabler der er loadet i den.

Library/LaunchAgents/ mappe der findes for hver bruger. 

man skal oprette en fil der ender med .plist ...

en eksampel kan være com.nihad.test_copy.plist (det anbefales at com.nihad.test_copy også bruges i label sektion i selve filen)


<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

<key>Label</key>

<string>com.nihad.test_copy</string>

<key>ProgramArguments</key>

<array>

<string>/bin/bash</string>

<string>/Users/bruger1/tmp/test.sh</string>

</array>

<key>StartCalendarInterval</key>

<dict>

<key>Hour</key>

<integer>00</integer>


</dict>
<key>RunAtLoad</key>
<true/>

</dict>

</plist>

denne fil vil loade vores test.sh script der kopiere mappen og alt i den, hver gang uret rammer kl. 00.


468

38
PallMei (Skribent)
12. juli 2019 @ 10:47
Seniormedlem
Nihad skrev:

med fare for at jeg misforstået hvad der ønskes, så tænker jeg en BASH script vil være den mest optimale.

Ved ikke om det er mest optimalt, det afhænger af OP's miljø. Men BASH findes på andre OS'er end lige Mac og personligt er jeg også glad for at kende den løsning og hvis OP linux på hans NAS kunne det hele køre der.

Automator er macOS måde med integration i det grafiske miljø og muligheder for interagere Apple's apps på et højere niveau end BASH. En måde at udføre makroer som apps, services osv. Jeg vil personligt gerne blive klogere på både Automator og genveje på ios, men kæmper med det, for har ikke drive til at lege med det for sjovt.


769

60
12. juli 2019 @ 11:04
Veteran

jeg kan godt lide automator, men nogle ting er bare nemmere gjort med bash.