Как переместить все файлы в другой каталог, но скопировать последний?

Ответ Никласа указал мне на решение, если вы используете arandr. Вы можете обнаружить (, как и я ), что когда вы отключите док-станцию, arandr покажет только основной монитор (моего ноутбука в этом случае ). Однако два других монитора по-прежнему обнаруживаются xrandr, поэтому вам просто нужно повторно -активировать два других монитора, щелкнув правой кнопкой мыши -фон графического интерфейса и включив «активировать» для двух мониторов.

НО, если вы сделаете это для обоих мониторов, вы получите ошибку, о которой упоминал razr. Просто активируйте каждый монитор по одному --, нажимая кнопку с галочкой -между активациями --, и все будет хорошо :)

.

РЕДАКТИРОВАТЬ:

Кажется, также нашел надежный способ сделать это, не работая через arandr. Активируйте первый монитор:

xrandr --output DP2-1 --auto

Тогда, если ты подобен мне,это не сработает, если вы попытаетесь активировать второй монитор (, вы все равно получите упомянутую ошибку razr):

xrandr --output DP2-2 --auto

Вместо этого просто запустите сохраненный скрипт arandr. Это было для моего случая:

./dual_monitor_home.sh

И он автоматически -обнаружил второй экран и заработал!

0
24.11.2020, 15:10
1 ответ

Выяснил, как заставить это работать. Вот часть моего сценария резервного копирования для этого, надеюсь, кому-то это может пригодиться.

# Location to Backup from
BACKUP_TARGET="/my/dir/to/backup"
# Location to Backup to
BACKUP_LOCATION="/my/backup/store"

# List latest file
file_latest=$(find ${BACKUP_TARGET} -maxdepth 1 -mindepth 1 -printf '%T+ %p\n' | sort -r | head -n 1 | sed 's|.*/||' )
echo "Latest file is $file_latest"

# List the rest of files
file_rest_of_em=$(find ${BACKUP_TARGET} -maxdepth 1 -mindepth 1 -type f \! -name "$file_latest" | sed 's|.*/||' )

# make newlines the only separator
IFS=$'\n'

# Backup all previous Backups, MOVE ALL
echo "Backing up all files except Latest Backup..."
for file in $file_rest_of_em
do
    echo "Moving $file"
    mv -n ${BACKUP_TARGET}/$file $BACKUP_LOCATION/
done

# Backup Latest Backup, LEAVE COPY BEHIND
if [ -f "$BACKUP_LOCATION/$file_latest" ]; then
    echo "$file_latest (Latest Backup) already exists."
else
    echo "$file_latest (Latest Backup) does not exist."
    echo "Copying $file_latest..."
    cp -n --preserve=all ${BACKUP_TARGET}/$file_latest $BACKUP_LOCATION/
fi

# done with newline shenanegans
unset IFS

Спасибо за помощь @Panki

0
18.03.2021, 22:47

Теги

Похожие вопросы