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

 Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP
Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP
OPPO ha appena lanciato sul mercato la nuova serie Find X10, che ha come smartphone premium il Find X10 Pro Max, uno smartphone completo, che fa del comparto fotografico il suo vero punto di forza. Ma sono tante le novità, tra cui l'AI che adesso diventa agentica. Ma andiamo a vedere nel dettaglio questo nuovo smartphone.
WoW Forever provato: il MMORPG che la community chiedeva da anni è arrivato
WoW Forever provato: il MMORPG che la community chiedeva da anni è arrivato
Abbiamo provato la beta di World of Warcraft: Forever, il Classic+ di Blizzard in arrivo il 4 novembre: la nuova razza Skyborne restituisce la sensazione di un gioco nuovo, ma le zone storiche conservano la noia divertita di Classic. Classi ribilanciate, sciamani anche nell'Alleanza e un motore grafico che in 4K gira bene anche su una RTX 3070. Cosa cambia in Forever? La risposta nell'articolo
TCL P80 Ultra: con un display AMOLED opaco è una gioia per gli occhi e per le dita
TCL P80 Ultra: con un display AMOLED opaco è una gioia per gli occhi e per le dita
TCL P80 Ultra abbina per la prima volta un pannello AMOLED alla tecnologia NXTPAPER con finitura opaca, affiancandoci una fotocamera periscopica da 50 MP con zoom ottico 3x, il SoC Dimensity 7400 Elite e una batteria da 5.800 mAh. Nella prova sul campo emergono luminosità di picco molto elevata, comparto fotografico solido per la fascia di prezzo e autonomia nella media, a fronte di velocità di scrittura dello storage piuttosto contenute
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: 3010
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


 Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP Recensione OPPO Find X10 Pro Max: un top di gam...
WoW Forever provato: il MMORPG che la community chiedeva da anni è arrivato WoW Forever provato: il MMORPG che la community ...
TCL P80 Ultra: con un display AMOLED opaco è una gioia per gli occhi e per le dita TCL P80 Ultra: con un display AMOLED opaco &egra...
HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio HUAWEI MatePad Air recensione: OLED opaco e tast...
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica NVIDIA RTX Spark: il PC Windows on ARM costruito...
XBOX Cloud Gaming introduce i pacchetti ...
Il browser è protetto, ma questi ...
3 TV da non perdere su Amazon: 139€ per ...
Ridurre la dipendenza da Microsoft con D...
Telemarketing, la privacy non c'è...
AMD prepara i controlli ufficiali per l'...
Mac mini con chip M6 scontati su Amazon:...
PS5 verso il jailbreak sull'ultimo firmw...
Electronic Arts avvia una profonda riorg...
NVIDIA rilascia i driver 621.01: debutta...
Rowenta X-Clean 12: lavapavimenti con fu...
OPPO Enco X4 ufficiali: doppio driver Dy...
OPPO Find X10 e Find X10 Pro Max arrivan...
Recensione OPPO Enco X4: tecnologia da t...
Qualcomm, ricavi in calo e svolta verso ...
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: 07:45.


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