Portál AbcLinuxu, 13. května 2025 20:59
Ahoj, potřeboval bych poradit se skriptem, který maže soubory na aktuálním serveru, ale i na jiných serverech pomocí SSH. Sktipt hledá soubor, který obsahuje seznam souborů, které se mají vymazat. Pokud zakomentuji vlastní smazání pomocí SSH, tak skript projde všechny soubory, které jsou v seznamu uvedené. Ale pokud odkomentuji SSH mazání, vymaže se pouze jeden a skript skončí... Vůbec nevím proč.
while read -r CACHED_PAGE; do for REMOTE_SERVER in ${LIST_REMOTE_SERVERS[*]}; do CMD_EVAL="$CMD_SSH $REMOTE_SERVER 'cd $SELECTED_WORK_TREE_PATH/${DIRECTORY_FILECACHE_SUFFIX}; find . -type f -name \"cache_page-^${FIXED_FILENAME}*\" -delete'" eval $CMD_EVAL done done <"$DIRECTORY_CLEAR_CACHE_FILES/$FILE"
V proměnné $LIST_REMOTE_SERVERS jsou servery ve tvaru: root@10.178.128.252 atd. když si vytisknu $CMD_EVAL dostanu: /usr/bin/ssh root@10.178.128.252 'cd /var/www/html/bebe_nestle_fr/sites/default/files/.ht.filecache; find . -type f -name "cache_page-^web-coupon-print*" -delete'
Struktura souboru se seznamem souborů k vymazání:
sites/default/files/.ht.filecache/ web-coupon-print sites/default/files/.ht.filecache/ accueil sites/default/files/.ht.filecache/ node^2624556 sites/default/files/.ht.filecache/ content^st8-11ptite-recette041p2015 sites/default/files/.ht.filecache/ sites/default/files/.ht.filecache/ web-coupon-print sites/default/files/.ht.filecache/ accueil sites/default/files/.ht.filecache/ node^2624549 sites/default/files/.ht.filecache/ content^st8-11nestler14p2015 sites/default/files/.ht.filecache/ produits^coin-marque sites/default/files/.ht.filecache/ nourrir-bebe^articles
eval echo $CMD_EVALchtel bych vyloucit, ze je to v cykli, nebo ve vyhodnocovani promennych..
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.