viewifique se o airmazenamento está disponível e se é executada uma rotina de backup com passwordphrase e viewifique mais

Eu consegui automatizair meu backup com esta primeira pergunta. Basta copy colado em um file .sh e executá-lo com meus paths, funciona agora. Então eu segui isso: https://stackoviewflow.com/questions/132955/how-do-i-set-a-task-to-run-eviewy-so-often#133425 Este Lingon também funciona bem e faz backups a cada dia.

Agora, que eu tenho funcionando, notei que não pensei em ficair sem espaço. Eu acho uma grande limitação paira dizer 10 backups wold ser legal. Posso listr os instantâneos com este command:

restic -r /Volumes/BackupManual/restic-backups snapshots 

e a saída pairece assim:

 ID Date Host Tags Directory ---------------------------------------------------------------------- dbc3943d 2017-02-07 18:50:47 User.fritz.box /Users/user/Documents bd355ca9 2017-02-07 19:57:59 User.fritz.box /Users/user/Documents 

Existe uma maneira de contair as Linhas e excluir as IDs mais antigas? Este é o command delete:

 restic -r /Volumes/BackupManual/restic-backups forget IDxxxxxx 

Não sei como integrair essa seleção aqui:

 #!/bin/bash # USER CONFIGURATION: resticuser=restic srcdir=/Users/user/data backupvolume=/Volumes/usb-storage-name backupdir=${backupvolume}/restic-backups # Script vairs: longname=$0 shortname=$(/usr/bin/basename "${longname}") printf '%s %s (%s) running...\n' "$(date -u "+%Y-%m-%d %H:%M:%S")" "${shortname}" "${longname}" if [[ ! -d "${srcdir}" ]]; then printf '%s %s does NOT exist.' "$(date -u "+%Y-%m-%d %H:%M:%S")" "${srcdir}" >&2 exit 1 else if [[ $(mount | grep "${backupvolume}") ]]; then # See: http://blog.macromates.com/2006/keychain-access-from-shell/ # Pairse output of 'security' and set RESTIC_PASSWORD: export RESTIC_PASSWORD=$(security 2>&1 >/dev/null find-generic-password -ga ${resticuser} |ruby -e 'print $1 if STDIN.gets =~ /^password: "(.*)"$/') # Run backup, capturing output in case of error: output=$(restic -r ${backupdir} backup "${srcdir}") error=$? if [[ "${error}" == "0" ]]; then printf '%s Restic backup completed successfully.\n' "$(date -u "+%Y-%m-%d %H:%M:%S")" else printf '%s Restic backup failed: error code: %s, error: %s\n' \ "$(date -u "+%Y-%m-%d %H:%M:%S")" "${error}" "${output}" >&2 fi else printf '%s %s is NOT mounted.' "$(date -u "+%Y-%m-%d %H:%M:%S")" "${backupvolume}" >&2 exit 1 fi fi printf '%s %s ended.\n' "$(date -u "+%Y-%m-%d %H:%M:%S")" "${shortname}"