Creación de copias de seguridad de datos en Cloud Storage

En esta página, se muestra cómo hacer una copia de seguridad de los datos de una máquina local a Cloud Storage con Cloud Tools for PowerShell. A diferencia de la mayoría de los recursos, Cloud Tools for PowerShell proporciona dos formas de acceder a los recursos de Cloud Storage, los cmdlets y un proveedor de PowerShell.

El proveedor te permite acceder a los depósitos de almacenamiento y objetos como un sistema de archivos mediante los comandos del sistema de archivos con los que ya estás familiarizado. Sin embargo, el proveedor tiene algunas limitaciones. No todos los nombres de objetos legales se convierten en rutas de proveedores legales. No puedes usar el proveedor para administrar las LCA. Para estos casos avanzados, puedes usar los cmdlets. Consulta la referencia de cmdlet para Cloud Tools for PowerShell a fin de obtener más información sobre los cmdlets de Cloud Storage

Sube datos

Los datos en Cloud Storage se organizan en depósitos. Crea un bucket nuevo de la siguiente manera:

Cmdlets

Usa el cmdlet New-GcsBucket para crear un bucket nuevo:

$bucket = "my-gcs-bucket"
New-GcsBucket $bucket

Provider

Los depósitos son carpetas en la raíz de la unidad gs:\. La creación de un elemento nuevo en ese nivel creará un bucket nuevo.

cd gs:\
$bucket = "my-gcs-bucket"
mkdir $bucket

Sube archivos a un bucket

Puedes subir un solo archivo o un directorio completo a tu bucket:

Cmdlets

Usa New-GcsObject. Esto requiere un bucket de destino y un nombre de objeto como parámetro. El origen del contenido del objeto de almacenamiento nuevo depende del conjunto de parámetros que uses.

Puedes subir el contenido de un archivo local a Cloud Storage, para ello usa el parámetro -File y especifica una ruta de acceso al archivo. Como alternativa, puedes pasar el contenido del objeto como una string a través de la canalización de PowerShell o puedes usar el parámetro -Value.

Puedes subir a Cloud Storage un directorio completo del disco local con el parámetro -Folder y especificar la ruta de la carpeta. Si no quieres que la carpeta se suba directamente en la raíz del depósito de Cloud Storage, usa -ObjectNamePrefix para especificar un prefijo que se aplicará a cada objeto subido.

# Upload the folder LogFiles and its content to the root of the widget bucket.
New-GcsObject -Bucket "widget" -Folder "C:\inetpub\logs\LogFiles"

# Upload the folder LogFiles and its content to directory Test in the widget bucket.
New-GcsObject -Bucket "widget" -Folder "C:\inetpub\logs\LogFiles" -ObjectNamePrefix "Test"

Provider

Usa New-Item. Requiere una ruta de acceso al elemento que se está creando. Esta puede ser una ruta de acceso absoluta o relativa. El contenido del nuevo objeto de almacenamiento se puede especificar como una string al parámetro -Value o especificando una ruta de acceso al archivo al parámetro -File.

New-Item gs:\my-gcs-bucket\new-object -File $file

El siguiente fragmento sube un directorio completo desde el disco local a Cloud Storage.

cd $folder
$files = Get-ChildItem -Recurse
$data = @()
foreach ($file in $files) {
      $objectPath = $file | Resolve-Path -Relative
      $data += @{file = $file; objectPath = $objectPath}
}
cd gs:\my-gcs-bucket
foreach($element in $data) {
      Write-Host "`t${$element.objectPath}"
      New-Item $element.objectPath -File $element.file
}

Busca datos

Puedes buscar datos con cmdlets o con el proveedor a través de los cmdlets de búsqueda de archivos comunes.

Cmdlets

Puedes buscar a través de los objetos de un bucket mediante Get-GcsObject. Esto puede ser útil cuando se combina con el cmdlet Out-GridView para visualizar tus datos:

Get-GcsObject $bucket | Select Name, Size | Out-GridView

Provider

Puedes usar Get-ChildItem o uno de sus alias: dir, ls o gci. Puedes usar el parámetro -Recurse para buscar dentro de todas las carpetas lógicas:

cd gs:\my-gcs-bucket
ls -Recurse

Lee datos

Para leer los datos a través del proveedor, usa el cmdlet estándar Get-Content. Como alternativa, usa el cmdlet Read-GcsObject.

Cmdlets

Para leer el contenido de un objeto de Cloud Storage, usa el cmdlet Read-GcsObject. Como configuración predeterminada, lee el contenido del objeto como una string y lo escribe en la canalización de PowerShell. Puedes especificar el parámetro -OutFile para descargar el contenido del objeto en el disco local en su lugar:

Read-GcsObject $bucket "timestamp.txt" | Write-Host
Read-GcsObject $bucket "logo.png" `
    -OutFile "$Env:UserProfile\pictures\logo.png"

Provider

Para leer el contenido de un objeto de Cloud Storage, usa el cmdlet Get-Content o uno de sus alias: cat, gc o type.

cd gs:\my-gcs-bucket
cat my-object-name

Borra datos

Para borrar datos a través del proveedor, usa el cmdlet estándar Remove-Item. Como alternativa, usa el cmdlet Remove-GcsObject.

Cmdlets

Para quitar cualquier dato de Cloud Storage, usa el cmdlet Remove-GcsObject:

Get-GcsObject $bucket | Remove-GcsObject

Provider

Para quitar datos en Cloud Storage, usa el cmdlet Remove-Item o uno de sus alias del, rm o erase:

cd gs:\my-gcs-bucket
rm my-object-name