Cronjob Cadangan Ubuntu

1

Saya bertanya-tanya apakah seseorang dapat memberi saya skrip cepat yang dapat saya jalankan melalui cron yang akan mencadangkan seluruh direktori / var / www saya? Saya hanya ingin menjalankannya sekali sehari pada jam 3:05 pagi, dan meletakkan salinannya di / media / sadisa / a_backup / engine /. Akan lebih bagus jika bisa mengubah nama menjadi waktu, seperti / media / sadisa / a_backup / engine / 20100818_0305 / www atau sesuatu seperti itu, tetapi hanya www (1) www (2), dll juga akan berfungsi.

Terima kasih banyak!

  • Josh
Josh
sumber

Jawaban:

2

tarball dengan gzip-kompresi:

tar czf /media/sadisa/a_backup/engine/`date +%F`/var-www-`date +%F`.tgz /var/www/

File & folder biasa:

mkdir /media/sadisa/a_backup/engine/`date +%F`/
cp -a /var/www/ /media/sadisa/a_backup/engine/`date +%F`/var-www-`date +%F`

sumber
0

Tidak perlu menemukan kembali roda.

Gunakan duplikat .

vtest
sumber
0

Gunakan perangkat lunak cadangan yang tepat untuk melakukan trik. Saya menggunakan BackupPC , yang bekerja dengan sangat baik. Sangat bisa dikonfigurasi.

OliBlogger
sumber
0
DATE_HASH = $(echo -n `date` | openssl md5)
tar cvzf backup.tgz /var/www/
mv backup.tgz /backup_folder/${DATE_HASH}.tgz

Sunting: Saya jelas tidak ingat mengapa saya menulis bagian itu. Perbarui seperti yang direkomendasikan dalam komentar:

BACKUP_DATETIME=$(echo -n $(date +%Y%m%d_%H%M))
tar cvzf backup.tgz /var/www/
mv backup.tgz /backup_folder/${BACKUP_DATETIME}.tgz
mhitza
sumber
Tidak ada spasi di sekitar tanda sama dengan. Mengapa tidak menggunakan tanggal yang bisa dibaca manusia? Mengapa tidak digunakan di $()dalam $()daripada backticks?
Dennis Williamson
Itu bukan hash tanggal - itu YYYYMMDD_HHMM yang bisa Anda dapatkan tanggal untuk dicetak dengan argumen format. Alasan dia melakukan itu adalah karena itu dapat diurutkan tanpa melompat melalui lingkaran.
hotei
Itu bukan hash kencan - itu date +%Y%m%d_%H%M. Alasan dia melakukan itu adalah karena itu dapat diurutkan tanpa melompat melalui lingkaran.
hotei
Saya tidak mengerti, mengapa Anda melakukan itu "echo date| openssl md5"? Bisakah Anda menjelaskannya?
Bagaimana dengan: DATE_HASH = $ (echo -n date +%Y%m%d_%H%M) ... dan mungkin nama yang lebih baik daripada DATE_HASH karena ini bukan lagi hash ... :)
Johan