C'était à titre d'exemple, mais si tu veux, on peux améliorer ça :
( on efface aux bout de 3 semaines )
Code :
- #!/bin/bash
- # ------------------------------------------------------------------
- #
- # Copyright (C) 2007-2008 <gilles DOT quenot AT gmail DOT com>
- #
- # This program is free software; you can redistribute it and/or
- # modify it under the terms of version 2 of the GNU General Public
- # License published by the Free Software Foundation.
- #
- # ------------------------------------------------------------------
- ### personnal settings
- Device=/dev/sda1
- Mymail=me@host.tld
- MyFtpHost=FTPhost.tld
- MyFtpUserName=me
- MyFtpPasswd=passwd
- MyFtpFolder=foobar
- ###
- # script variables
- LANG=C
- DateNow=$(date +%s)
- LogError=${0##*/}_error
- Fichier=$(date +backup.%s.%Y%m%d%H%M.gz)
- ThreeWeeksAgo=$(date -d '3 weeks ago' +%s)
- . /etc/profile
- # you can store personnal env in this file
- [[ -f ~/.MyEnv ]] && . ~/.MyEnv
- trap 'v=$!; echo -e "\nQuitting !"; killall lftp; exit $v' 1 2 3 15
- dd if=$Device bs=2048 conv=noerror,sync | \
- gzip -fc | \
- lftp -u "$MyFtpUserName;$MyFtpPasswd" "$MyFtpHost" -e "put /dev/stdin -o ${Fichier}; quit"
- # coded to display messages on stdout is exists
- Info()
- {
- if [[ -t 0 ]]; then
- tput setaf $1
- echo $2
- tput sgr0
- fi
- }
- Info 2 "Hi ${USER}."
- TabOfDate=( $(echo $(lftp -c "open -u ${MyFtpUserName:?},${MyFtpPasswd:?} ${MyFtpHost:?}; \
- ls $MyFtpFolder" |
- cut -d'.' -f2))
- )
- # looking for old archives patterns to delete
- c=0
- for Match in "${TabOfDate[@]:?}"; do
- if (( Match < ThreeWeeksAgo )); then
- ToDelete[c++]="*$Match*"
- fi
- done
- # remove old archives with given patterns
- (( ${#ToDelete[@]} > 0 )) && {
- lftp -c "open -u ${MyFtpUserName:?},${MyFtpPasswd:?} ${MyFtpHost}; \
- cd "$MyFtpFolder"; \
- mrm ${ToDelete[@]}"
- }
- Info 2 "All done, see ya..."
|
Et les disques, faut bien qu'ils travaillent pour backuper.... Evidement faut pas mettre ça une fois par minutes, mais genre une fois par jour.
On peux creer une purge automatique facilement aussi.
Message édité par sputnick le 07-11-2008 à 03:11:47