Torna indietro   Hardware Upgrade Forum > Software > Linux, Unix, OS alternativi > Discussioni Ufficiali e Documentazione

Nothing Ear e Ear (a): gli auricolari per tutti i gusti! La ''doppia'' recensione
Nothing Ear e Ear (a): gli auricolari per tutti i gusti! La ''doppia'' recensione
Nothing propone sul mercato non uno ma ben due auricolari nuovi: Ear di terza generazione e Ear (a) ossia un nuovo modello a basso costo pronto a ritagliarsi una fetta di mercato. Entrambi rimangono fedeli al marchio per il design ancora trasparente ma fanno un balzo in avanti notevole per qualità e soppressione del rumore.  
Sony FE 16-25mm F2.8 G: meno zoom, più luce
Sony FE 16-25mm F2.8 G: meno zoom, più luce
Il nuovo Sony FE 16-25mm F2.8G si aggiunge all'analogo 24-50mm per offrire una coppia di zoom compatti ma di apertura F2.8 costante, ideali per corpi macchina altrettanto compatti (vedi A7c ) e fotografia di viaggio.
Motorola edge 50 Pro: design e display al top, meno il prezzo! Recensione
Motorola edge 50 Pro: design e display al top, meno il prezzo! Recensione
Motorola è decisa sulla sua strada: questo nuovo edge 50 Pro non guarda a specifiche stellari ma considera di più l’aspetto estetico. E si propone elegantemente con linee sinuose e un sistema operativo veloce. Peccato per un prezzo un po' fuori mercato.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 12-01-2017, 10:34   #21
luipez
Member
 
Iscritto dal: Nov 2001
Messaggi: 138
Sono un utente WIN che tramite l'uso del Raspberry si sta approcciando a Linux.

Vorrei fare un file (tipo BAT o CMD in Win) che mi mandi in esecuzione i seguenti comandi:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade -y
sudo apt-get autoclean
sudo apt-get clean
sudo apt-get autoremove -y

Il file lo vorrei tenere sul desktop di Jessy/Pixel per poterlo lanciare all'occorrenza.

E' possibile?

Mi aiutate?
luipez è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2017, 15:28   #22
luipez
Member
 
Iscritto dal: Nov 2001
Messaggi: 138
Comunico che ho risolto tramite quest'altro thread:

https://blog.robseder.com/2015/09/29...linux-distros/

Spero possa essere di aiuto a qualcun altro.
luipez è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2017, 15:37   #23
luipez
Member
 
Iscritto dal: Nov 2001
Messaggi: 138
Dimenticavo,

l'ho tradotto anche in italiano.
luipez è offline   Rispondi citando il messaggio o parte di esso
Old 26-02-2017, 07:41   #24
vinny74
Junior Member
 
Iscritto dal: Aug 2007
Messaggi: 12
Ciao scusate visto che qui si parla di scripting sto cercando di farne uno che tramite grep e sed o awk elimini delle righe specifiche all'interno di un file.

Dato il file di esempio file.user.
Il file è così composto:

Codice:
[account]
user = ciao
password = 3

[account]
user = prova
password = hey
log = /home/prova/prova.log

[account]
user = pernoi
Come si vede l'unica vera costante nel file è la stringa [account] e tramite varie guide e un po di prove ho scritto questa riga che mi consente di creare un array con le righe dove è presente [account]

Codice:
RIGHE=($(grep -n "\[account\]" file.user | sed 's/:.*//'))
Adesso dovrei scrivere qualcosa che dato l'array controlli se nell'intervallo tra il primo indice e il secondo è presente l'user prova, se non lo trova esegue il controllo tra il secondo indice ed il terzo e così via.
Se lo trova cancella tutte le righe comprese nell'intervallo tranne l'ultima, ovvero nel file di esempio deve cancellare tutte le righe dalla 5 alla 9.
Avevo pensato a sed ma non riesco a capire come dirgli di controllare se esiste una determinata stringa in un intervallo di righe.

Spero di essermi spiegato bene.
Grazie

Ultima modifica di vinny74 : 26-02-2017 alle 07:45.
vinny74 è offline   Rispondi citando il messaggio o parte di esso
Old 05-10-2018, 22:09   #25
Gimli[2BV!2B]
Senior Member
 
L'Avatar di Gimli[2BV!2B]
 
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3008
Versione di sviluppo di uno script per restore parallelo di una serie di database MySQL compressi in bz2.
Potrebbero esserci imprecisioni, l'ho poi affinato sul sistema di destinazione dove è entrato in produzione.
Codice:
#!/bin/bash

# Restore MySql database backups
# --------------------------------------------------------------------
# This is a free shell script under GNU GPL version 2.0 or above
# -------------------------------------------------------------------------
# Copyleft (C) 2011-2018 Gimli
# -------------------------------------------------------------------------
# 20171109 - v1.0.0
# 20180131 - v1.0.1
# 20180405 - v1.0.2 test again if database mysql is being processed and ask
# 20180911 - v1.0.3 DECOMPRESSOR variable, and MySQL SESSION variables
# 20181001 - v2.0.0 parallel
# -------------------------------------------------------------------------

usage()
{
cat << EOF
utilizzo: $0 "pattern"

Questo script esegue il restore di database mysql sul server locale.
Consuma file compressi con bz2 (teoricamente creati con backup.sh)
Specificare un solo parametro:
  "\backup\mysql\*.2017-11-09_04.00.sql.bz2" pattern match dei file da ripristinare

EOF
}

# this function is called when Ctrl-C is sent
function trap_ctrlc ()
{
	# perform cleanup here
	printf "\n\nCtrl-C caught... "
	stty echo
	echo "exit."

	# exit shell script with error code 3
	exit 3
}

# initialise trap to call trap_ctrlc function
# when signal 2 (SIGINT) is received
trap "trap_ctrlc" INT

if [ -z "$1" ]; then
  echo "Nessun file specificato!"
  usage
  exit 1
fi

FILES="$1"

echo "Decompressor: "
DECOMPRESSOR="$(which lbunzip2 2>/dev/null)";
if [ -z "$DECOMPRESSOR" ]; then
  DECOMPRESSOR="$(which pbunzip2 2>/dev/null)";
fi
if [ -z "$DECOMPRESSOR" ]; then
  DECOMPRESSOR="$(which bunzip2)";
fi
printf "  $DECOMPRESSOR\n\n"

echo "Parallel: "
ENV_PARALLEL="$(which env_parallel.bash 2>/dev/null)"
if [ -z "$ENV_PARALLEL" ]; then
	printf "  NOT available\n\n"
else
	printf "  $ENV_PARALLEL\n\n"
	. $ENV_PARALLEL
fi

echo "Restoring files matching: "
printf "  $FILES\n\n"
list=($FILES)
echo "Matched ${#list[@]} files:"
for file in "${list[@]}"; do
	if [ -f "$file" ]; then
		echo "  $file";
	else
		echo "  NO VALID MATCHES: check the argument passed to the script"
		exit 2
	fi
	if [[ $file == */mysql\.* ]] || [[ $file == ^mysql\.* ]]; then
		echo "################################################################################"
		echo "WARNING! Is this the mysql database? This will overwrite users, grants, etc..."
		echo -e "################################################################################\n"
	fi
done
printf "\n\n"
echo "INFO: press CTRL C to abort, at any time (be aware that this will *kill* the restore at the point reached)"

stty -echo
printf "MySQL root password: "
read PASSWORD
stty echo
printf "\n"

printf "Start: "
date
SECONDS=0

FILES_TOT=0
FILES_CONFIRMED=()
for file in $FILES ; do
	if [[ $file == */mysql\.* ]] || [[ $file == ^mysql\.* ]]; then
		echo "################################################################################"
		echo "WARNING! Is this the mysql database? This will overwrite users, grants, etc..."
		echo -e "################################################################################\n"
		printf "Press [Y]es to continue, [N]o or Ctrl C to skip\n"
		while true; do
			read -p "" yn
			case $yn in
				[Yy]* ) FILES_CONFIRMED+=("$file"); break;;
				[Nn]* ) printf "\nSkipped file:\n$file\n"; break;;
				* ) echo "Please answer Yes or No";;
			esac
		done

		printf "\n"
	else
		FILES_CONFIRMED+=("$file")
		((FILES_TOT++))
	fi
done

filter_sql()
{
  sed -e '1s|^|SET SESSION myisam_sort_buffer_size = 5*1024*1024*1024;|' \
      -e '1s|^|SET SESSION read_buffer_size = 256*1024*1024;|' \
      -e 's|/\*\!40000 ALTER TABLE \(`.*`\) DISABLE KEYS \*/;|ALTER TABLE \1 DISABLE KEYS;|' \
      -e 's|/\*\!40000 ALTER TABLE \(`.*`\) ENABLE KEYS \*/;|ALTER TABLE \1 ENABLE KEYS;|'
}

restore()
{
	CMD_TIME="$(which time)"
	if [ -z "$ENV_PARALLEL" ]; then
		printf "\nFile [%2s/$FILES_TOT] -> $1\n" "$2"
		CMD_PV="pv -fperb"
    pv "$1" | $DECOMPRESSOR | filter_sql | MYSQL_PWD="$PASSWORD" mysql -uroot
	else
		printf '\n\n%*s' "${COLUMNS:-$(tput cols)}" '' | tr ' ' -
		printf "\nFile terminato [%2s/$FILES_TOT] -> %-55s " "$2" "$1"
		CMD_PV="pv -fa"
		( pv -fa "$1" | $DECOMPRESSOR | filter_sql | MYSQL_PWD="$PASSWORD" TIME="Time %E" $CMD_TIME mysql -uroot 2>&1 ) 2>&1
	fi
}

if [ -z "$ENV_PARALLEL" ]; then
	count=1
	for file in $FILES ; do
		restore $file $count
		((count++))
	done
else
	env_parallel -j-1 --bar --env PASSWORD --env DECOMPRESSOR --env FILES_TOT --env ENV_PARALLEL --env filter_sql --env restore restore {} {#} ::: "${FILES_CONFIRMED[@]}"
fi

printf "Exit: "
date
echo "Elapsed seconds: $SECONDS"
Esempio di utilizzo:
Codice:
sertan ~/restore # ls -la sql/
totale 5020
drwxr-xr-x 1 root root     212 29 set 01.27 .
drwxr-xr-x 1 root root     102  5 ott 22.55 ..
-rw-r--r-- 1 root root 5073345 29 set 00.38 amarokdb_20180929.sql.bz2
-rw-r--r-- 1 root root    3659 29 set 00.39 elips_20180929.sql.bz2
-rw-r--r-- 1 root root   53964 29 set 01.27 tc_20180929.sql.bz2
-rw-r--r-- 1 root root    2138 29 set 00.39 ww_20180929.sql.bz2
sertan ~/restore # restore.sh "sql/*"
Decompressor: 
  /usr/bin/lbunzip2

Parallel: 
  /usr/bin/env_parallel.bash

Restoring files matching: 
  sql/*

Matched 4 files:
  sql/amarokdb_20180929.sql.bz2
  sql/elips_20180929.sql.bz2
  sql/tc_20180929.sql.bz2
  sql/ww_20180929.sql.bz2


INFO: press CTRL C to abort, at any time (be aware that this will *kill* the restore at the point reached)
MySQL root password: 
Start: ven  5 ott 2018, 22.57.30, CEST
[...]
Exit: ven  5 ott 2018, 22.57.36, CEST
Elapsed seconds: 6
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...)

Ultima modifica di Gimli[2BV!2B] : 05-10-2018 alle 22:11.
Gimli[2BV!2B] è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Nothing Ear e Ear (a): gli auricolari per tutti i gusti! La ''doppia'' recensione Nothing Ear e Ear (a): gli auricolari per tutti ...
Sony FE 16-25mm F2.8 G: meno zoom, più luce Sony FE 16-25mm F2.8 G: meno zoom, più lu...
Motorola edge 50 Pro: design e display al top, meno il prezzo! Recensione Motorola edge 50 Pro: design e display al top, m...
Ecovacs Goat G1-800, mettiamo alla prova il robot tagliaerba facile ed efficace Ecovacs Goat G1-800, mettiamo alla prova il robo...
ASUS ProArt 1, un PC completo ad altissime prestazioni per creator e non solo ASUS ProArt 1, un PC completo ad altissime prest...
Prezzi super per gli Apple Watch SE di s...
L'intelligenza artificiale ruba posti di...
The Witcher 3: disponibile su Steam il R...
Xiaomi 15: trapelano importanti specific...
Fallout 5? Meglio aspettare la seconda s...
Motorola Edge 50 Pro è ora disponibile s...
La tecnologia digitale sta trasformando ...
ASUSTOR presenta ADM 4.3 con nuove funzi...
S8 MaxV Ultra e Qrevo Pro: i nuovi aspir...
Goldene: creati, per la prima volta, fog...
La cinese Dongfeng produrrà i suo...
NVIDIA SFF Enthusiast GPU: nuovo program...
Alfa Romeo, il CEO avverte i politici: a...
Nothing Ear e Ear (a): l'evoluzione degl...
HR, customer experience, procurement: ec...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:04.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Served by www2v