• Bundesregierung will 2019 noch 500 Millionen Euro in KI-Förderung stecken 24. Mai 2019
    Ende 2018 hatte die Bundesregierung noch geplant, bis zu drei Milliarden Euro in die Förderung Künstlicher Intelligenz zu stecken. Im aktuellen Haushalt waren für 2019 nur noch 50 Millionen zu finden. Nun folgt das Rückrudern vom Rückrudern: Das BMWi kündigt an, zusätzliche 500 Millionen Euro investieren zu wollen.

ubuntu dateien kopieren ohne datumsänderung

Um mit UBUNTU Dateien kopieren ohne Datumsänderung bleibt einem nichts anderes übrig als einen grafischen Dateiexplorer zu nehmen.
Krusader

Dieses KDE Programm ist recht vielseitig und bedarf einer gewissen Gewöhnung. Aber tut was es soll.

Eine zweite alternative auf der Command Shell ist
rsync

  1. Paket installieren
    sudo apt-get install rsync
  2.  Backup Script
    #!/bin/bash
    # Simple backup with rsync
    # local-mode, tossh-mode, fromssh-mode
    
    SOURCES=(/root /etc /home /boot )
    TARGET="/media/backup"
    
    # edit or comment with "#"
    #LISTPACKAGES=listdebianpackages        # local-mode and tossh-mode
    MONTHROTATE=monthrotate                 # use DD instead of YYMMDD
    
    RSYNCCONF=(--delete)
    #MOUNTPOINT="/media/daten"               # check local mountpoint
    #MAILREC="user@domain"
    
    #SSHUSER="sshuser"
    #FROMSSH="fromssh-server"
    #TOSSH="tossh-server"
    SSHPORT=22
    
    ### do not edit ###
    
    MOUNT="/bin/mount"; FGREP="/bin/fgrep"; SSH="/usr/bin/ssh"
    LN="/bin/ln"; ECHO="/bin/echo"; DATE="/bin/date"; RM="/bin/rm"
    DPKG="/usr/bin/dpkg"; AWK="/usr/bin/awk"; MAIL="/usr/bin/mail"
    CUT="/usr/bin/cut"; TR="/usr/bin/tr"; RSYNC="/usr/bin/rsync"
    LAST="last"; INC="--link-dest=$TARGET/$LAST"
    
    LOG=$0.log
    $DATE > $LOG
    
    if [ "${TARGET:${#TARGET}-1:1}" != "/" ]; then
      TARGET=$TARGET/
    fi
    
    if [ "$LISTPACKAGES" ] && [ -z "$FROMSSH" ]; then
      $ECHO "$DPKG --get-selections | $AWK '!/deinstall|purge|hold/'|$CUT -f1 | $TR '\n' ' '" >> $LOG
      $DPKG --get-selections | $AWK '!/deinstall|purge|hold/'|$CUT -f1 |$TR '\n' ' '  >> $LOG  2>&1 
    fi
    
    if [ "$MOUNTPOINT" ]; then
      MOUNTED=$($MOUNT | $FGREP "$MOUNTPOINT");
    fi
    
    if [ -z "$MOUNTPOINT" ] || [ "$MOUNTED" ]; then
      if [ -z "$MONTHROTATE" ]; then
        TODAY=$($DATE +%y%m%d)
      else
        TODAY=$($DATE +%d)
      fi
    
      if [ "$SSHUSER" ] && [ "$SSHPORT" ]; then
        S="$SSH -p $SSHPORT -l $SSHUSER";
      fi
    
      for SOURCE in "${SOURCES[@]}"
        do
          if [ "$S" ] && [ "$FROMSSH" ] && [ -z "$TOSSH" ]; then
            $ECHO "$RSYNC -e \"$S\" -avR \"$FROMSSH:$SOURCE\" ${RSYNCCONF[@]} $TARGET$TODAY $INC"  >> $LOG 
            $RSYNC -e "$S" -avR "$FROMSSH:\"$SOURCE\"" "${RSYNCCONF[@]}" "$TARGET"$TODAY $INC >> $LOG 2>&1 
            if [ $? -ne 0 ]; then
              ERROR=1
            fi 
          fi 
          if [ "$S" ]  && [ "$TOSSH" ] && [ -z "$FROMSSH" ]; then
            $ECHO "$RSYNC -e \"$S\" -avR \"$SOURCE\" ${RSYNCCONF[@]} \"$TOSSH:$TARGET$TODAY\" $INC " >> $LOG
            $RSYNC -e "$S" -avR "$SOURCE" "${RSYNCCONF[@]}" "$TOSSH:\"$TARGET\"$TODAY" $INC >> $LOG 2>&1 
            if [ $? -ne 0 ]; then
              ERROR=1
            fi 
          fi
          if [ -z "$S" ]; then
            $ECHO "$RSYNC -avR \"$SOURCE\" ${RSYNCCONF[@]} $TARGET$TODAY $INC"  >> $LOG 
            $RSYNC -avR "$SOURCE" "${RSYNCCONF[@]}" "$TARGET"$TODAY $INC  >> $LOG 2>&1 
            if [ $? -ne 0 ]; then
              ERROR=1
            fi 
          fi
      done
    
      if [ "$S" ] && [ "$TOSSH" ] && [ -z "$FROMSSH" ]; then
        $ECHO "$SSH -p $SSHPORT -l $SSHUSER $TOSSH $LN -nsf $TARGET$TODAY $TARGET$LAST" >> $LOG  
        $SSH -p $SSHPORT -l $SSHUSER $TOSSH "$LN -nsf \"$TARGET\"$TODAY \"$TARGET\"$LAST" >> $LOG 2>&1
        if [ $? -ne 0 ]; then
          ERROR=1
        fi 
      fi 
      if ( [ "$S" ] && [ "$FROMSSH" ] && [ -z "$TOSSH" ] ) || ( [ -z "$S" ] );  then
        $ECHO "$LN -nsf $TARGET$TODAY $TARGET$LAST" >> $LOG
        $LN -nsf "$TARGET"$TODAY "$TARGET"$LAST  >> $LOG 2>&1 
        if [ $? -ne 0 ]; then
          ERROR=1
        fi 
      fi
    else
      $ECHO "$MOUNTPOINT not mounted" >> $LOG
      ERROR=1
    fi
    $DATE >> $LOG
    if [ -n "$MAILREC" ]; then
      if [ $ERROR ];then
        $MAIL -s "Error Backup $LOG" $MAILREC < $LOG
      else
        $MAIL -s "Backup $LOG" $MAILREC < $LOG
      fi
    fi

Die Datei wird z.B. unter dem Namen /root/backup.sh gesichert. Da die Logdatei unter dem Namen mit selben Anhang und dem Anhang .log (z.B. /root/backup.sh.log) gesichert wird, empfiehlt es sich, eine sprechende Bezeichnung als Programmnamen zu vergeben.