Új hozzászólás Aktív témák
-
válasz
Véreshurka
#2615
üzenetére
Szerintem te nem ezt akarod

Ez csak akkor szinkronizálja bármelyik könyvtárat is, ha az összes ott van meg a .bac párja is - én azt gondolnám, hogy igazából az lenne a kívánt működés, hogy ha ott van egy könyvtár meg .bac párja, akkor azt szinkronizálja, függetlenül a többi könyvtártól.
Ennek szellemében:
function do_backup()
{
for DIR in "$@" ; do
BAC="$DIR.bac"
if [ -d "$DIR" ] && [ -d "$BAC" ] ; then
rsync -a --delete "$DIR" "$BAC"
fi
done
}
DIRS=("foo" "bar" "foo bar")
do_backup "${DIRS[@]}"
do_backup "foo" "bar" "foo bar"
do_backup /backup/dirs/*A három do_backup csak szemléltetésnek van (az első egy arrayban tárolja a szinkronizálandó könyvtárak neveit, a második simán felsorolja, a harmadik meg az adott helyen lévő könyvtárakat használja)
-
lev258
veterán
válasz
Véreshurka
#2617
üzenetére
Először is, minden if-hez tartozik egy fi. Ez zárja le. Ha egymás után több if van, illetve a végén több fi, akkor az egybeágyazást jelent, vagyis a legbelső if többszörös feltételrendszernek kell, hogy megfeleljen.
Javaslom, hogy kezdd a shell script-ek if használatának megismerésével. Utána az rsync rész már könnyű lesz. -
válasz
Véreshurka
#2615
üzenetére
kb. ezt kellene:
for i in mappa3 mappa4 mappa5; do[ test -d $i ] && [ test -d "${i}.bac" ] && rsync -a --delete $i "${i}.bac"done -
lev258
veterán
válasz
Véreshurka
#2615
üzenetére
Az rsync-hez nem igazán értek, de jelenleg az if használatod jobban zavar. Logikailag nem értem a dolgot.
Új hozzászólás Aktív témák
- ÚJ Asus V16 V3607VM - 16" WUXGA 144Hz - Core 5 210H - 16GB - 1TB - Win11 - RTX 5050 - 3 év garancia
- ÁRGARANCIA!Épített KomPhone i5 14400F 32/64GB RAM RX 9060 XT 16GB GAMER PC termékbeszámítással
- NJOY Szünetmentes + AVR Horus Plus 2000, 2000VA, 1200W, Line-Interactice, LCD Touch displa PWUP-LI20
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- GYÖNYÖRŰ iPhone SE 2020 64GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3920, 100% Akksi
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: Laptopműhely Bt.
Város: Budapest


