Portál AbcLinuxu, 26. dubna 2024 20:58
#!/bin/bash vysl="$(mv -f /mnt/share/home_komplet /mnt/share/`LANG=en_US date +%A`_home_kom$ if [ "$?" = "0" ]; then echo "Soubor zalohy home_komplet byl v poradku prejmenovan" | mail -s "test$ else echo "Nepodarilo se prejmenovat soubor zalohy home_komplet, chyba c.$? : $vys$ exit 0;Výsledek je vždy email s tímto zněním: Nepodarilo se prejmenovat soubor zalohy home_komplet, chyba c.1 : mv: cannot move `/mnt/share/home_komplet' to `/mnt/share/Monday_home_komplet': File exists Tedy že soubor se zálohou existuje... Nicméně - soubor původní, který dle scriptu existuje, sám script smaže... Tedy například v pondělí se vytvoří záloha Monday_home_komplet, další pondělí script vytvoří novou zálohu home_komplet, při pokusu o přejmenování souboru na Monday_home_komplet smaže (!) původní existující týden starý soubor Monday_home_komplet, ale ten nový nepřejmenuje na Monday_home_komplet a skončí s výše uvedenou chybou. Výsledkem po týdnu je, že se všechny denní zálohy smažou a zůstane jen ten jeden, nově vzniklý. Pokud script na přejmenování ovšem spustím ručně ráno, vše proběhne normálně, soubor se přejmenuje (i pokud původní soubor existuje). Zkusil jsem dát nějakou prodlevu mezi vytvořením zálohy a pokusem o přejmenování (i 2 hodiny), ale toto nepomohlo. Poradíte někdo? Díky moc.
rm /mnt/share/`LANG=en_US date +%A`_home_komplets ifem na echo jestli smazání provedl. Tím by pro move zmizela situace, kdy má cílový soubor a kterou přetlačuje tím --force. A případně výpis efektivního uživatele.
#!/bin/bash vyslRM="$(rm /mnt/share/`LANG=en_US date +%A`_home_komplet 2>&1)" if [ "$?" = "0" ]; then vyslRM="Soubor zalohy byl v poradku smazan."; else vyslRM="Smazani souboru zalohy skoncilo s chybou, chyba c.$? : $vyslRM."; fi vysl="$(mv -f /mnt/share/home_komplet /mnt/share/`LANG=en_US date +%A`_home_komplet 2>&1)" if [ "$?" = "0" ]; then echo "Uzivatel (whoami):" `whoami` ". $vyslRM Soubor zalohy home_komplet byl v poradku prejmenovan" | mail -s "Backup rename OK" mujmail@mail.com; else echo "Uzivatel (whoami):" `whoami` ". $vyslRM Nepodarilo se prejmenovat soubor zalohy home_komplet, chyba c.$? : $vysl" | mail -s "Backup rename error" mujmail@mail.com; exit 0; fiTak uvidíme, jestli pomohlo, hlavně tedy uvidím, pod jakým uživatelem to ten automat spouští... Dám vědět.
Tiskni Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.