razstec 0 Denunciar post Postado Setembro 22, 2011 viva malta, tenho um script em ficheiro bat para fazer algumas coisas na minha bd mas como tambem estou a testar em linux gostaria de saber se alguem me ajuda a converter este ficheiro bat em shell linux. @echo off cls :start echo. ECHO Manutencao de BD ECHO - - - - - - - - - - ECHO Backup ECHO 1. Backup Diario ECHO 2. Backup Semanal ECHO 3. Backup Mensal ECHO - - - - - - - - - - ECHO Restauro ECHO 4. Restauro Diario ECHO 5. Restauro Semanal ECHO 6. Restauro Mensal ECHO - - - - - - - - - - ECHO 7. Sair echo. echo. set /p x=Escolha uma opcao:_ IF '%x%'== '7' exit set /p t=Tem a certeza?(s/n) IF '%t%' == 's' GOTO Item_%x% GOTO Start :Item_1 cd/ cd Program Files/PostgreSQL/8.4/bin pg_dump.exe --host localhost --port 5432 --username postgres --format custom --blobs --verbose --file "C:\Users\Ricardo\Desktop\Backup\db\diario\dumpDB_openclinica_diario.backup" openclinica cd/ cd Users\Ricardo\Desktop\Backup\DB\diario copy *.* e: echo. ECHO Backup Diario Efectuado com sucesso echo. GOTO Start :Item_2 cd/ cd Program Files/PostgreSQL/8.4/bin pg_dump.exe --host localhost --port 5432 --username postgres --format custom --blobs --verbose --file "C:\Users\Ricardo\Desktop\Backup\db\semanal\dumpDB_openclinica_semanal.backup" openclinica cd/ cd Users\Ricardo\Desktop\Backup\DB\semanal copy *.* e: echo. ECHO Backup Semanal Efectuado com sucesso echo. GOTO Start :Item_3 cd/ cd Program Files/PostgreSQL/8.4/bin pg_dump.exe --host localhost --port 5432 --username postgres --format custom --blobs --verbose --file "C:\Users\Ricardo\Desktop\Backup\db\mensal\dumpDB_openclinica_mensal.backup" openclinica cd/ cd Users\Ricardo\Desktop\Backup\DB\mensal copy *.* e: echo. ECHO Backup Mensal Efectuado com sucesso echo. GOTO Start :Item_4 cd/ cd Program Files/PostgreSQL/8.4/bin pg_restore.exe --host localhost --port 5432 --username postgres --dbname openclinica --list "C:\Users\Ricardo\Desktop\Backup\DB\diario\dumpDB_openclinica_diario.backup" echo. ECHO Restauro Diario Efectuado com sucesso echo. GOTO Start :Item_5 cd/ cd Program Files/PostgreSQL/8.4/bin pg_restore.exe --host localhost --port 5432 --username postgres --dbname openclinica --list "C:\Users\Ricardo\Desktop\Backup\DB\semanal\dumpDB_openclinica_semanal.backup" echo. ECHO Restauro Semanal Efectuado com sucesso echo. GOTO Start :Item_6 cd/ cd Program Files/PostgreSQL/8.4/bin pg_restore.exe --host localhost --port 5432 --username postgres --dbname openclinica --list "C:\Users\Ricardo\Desktop\Backup\DB\mensal\dumpDB_openclinica_mensal.backup" echo. ECHO Restauro Mensal Efectuado com sucesso echo. GOTO Start Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
razstec 0 Denunciar post Postado Setembro 23, 2011 Penso que seja qualquer coisa assim: #!/bin/bash selection= until [ "$selection" = "0" ]; do echo "" echo Manutencao de BD echo - - - - - - - - - - echo Backup echo 1. Backup Diario echo 2. Backup Semanal echo 3. Backup Mensal echo - - - - - - - - - - echo Restauro echo 4. Restauro Diario echo 5. Restauro Semanal echo 6. Restauro Mensal echo - - - - - - - - - - echo 7. Sair echo "" echo -n "Escolha uma opcao: " read selection echo "" case $selection in 1 ) xpto ;; 2 ) xpto ;; 3 ) xpto ;; 4 ) xpto ;; 5 ) xpto ;; 6 ) xpto ;; 7 ) exit ;; * ) echo "Escolha uma das opções apresentadas no menu" esac done Agora so me falta descobrir como inserir a opção de tem a certeza(s/n) Compartilhar este post Link para o post Compartilhar em outros sites
razstec 0 Denunciar post Postado Novembro 3, 2011 Viva, consegui por a funcionar assim: now=$(date +"%m_%d_%Y") #!/bin/bash selection= until [ "$selection" = "0" ]; do echo "" echo Manutencao de BD echo - - - - - - - - - - echo Backup echo 1. Backup Diario echo 2. Backup Semanal echo 3. Backup Mensal echo - - - - - - - - - - echo Restauro echo 4. Restauro Diario echo 5. Restauro Semanal echo 6. Restauro Mensal echo - - - - - - - - - - echo 7. Sair echo "" echo -n "Escolha uma opcao: " read selection echo "" echo -n "Tem a certeza?(s/n) " read text if [ $text="s" ] | [ $text="S" ]; then case $selection in 1 ) /opt/PostgreSQL/8.4/bin/pg_dump --host localhost --port 5432 --username postgres --format tar --blobs --verbose --file "/home/oc/Desktop/Backup_OC/Backup Diario/Backup_oc_diario_$now" openclinica;; 2 ) /opt/PostgreSQL/8.4/bin/pg_dump --host localhost --port 5432 --username postgres --format tar --blobs --verbose --file "/home/oc/Desktop/Backup_OC/Backup Semanal/Backup_oc_semanal_$now" openclinica;; 3 ) /opt/PostgreSQL/8.4/bin/pg_dump --host localhost --port 5432 --username postgres --format tar --blobs --verbose --file "/home/oc/Desktop/Backup_OC/Backup Mensal/Backup_oc_mensal_$now" openclinica;; 4 ) /opt/PostgreSQL/8.4/bin/pg_dump --host localhost --port 5432 --username postgres --format custom --blobs --verbose --file "/home/oc/Desktop/Backup_OC/Backup_oc_diario_$now" openclinica;; 5 ) /opt/PostgreSQL/8.4/bin/pg_dump --host localhost --port 5432 --username postgres --format custom --blobs --verbose --file "/home/oc/Desktop/Backup_OC/Backup_oc_semanal_$now" openclinica;; 6 ) /opt/PostgreSQL/8.4/bin/pg_dump --host localhost --port 5432 --username postgres --format custom --blobs --verbose --file "/home/oc/Desktop/Backup_OC/Backup_oc_mensal_$now" openclinica;; 7 ) exit ;; * ) echo "Escolha uma das opções apresentadas no menu" esac else exit fi done O problema agora e fazer o restore funcionar visto que o nome do ficheiro esta sempre a mudar devido a data em que foi criada. Alguma sujestao? Ja agora porque é que quando dou n ou outro valor no texto que nao seja s ele nao sai? Obrigado resolvi assim now=$(date +"%a_%b_%Y-%H:%M:%S") Agora é so a opção de restore e do s e n, alguma ideia? Compartilhar este post Link para o post Compartilhar em outros sites